diff gcc/config/nds32/nds32-pipelines-auxiliary.c @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
line wrap: on
line diff
--- a/gcc/config/nds32/nds32-pipelines-auxiliary.c	Thu Oct 25 07:37:49 2018 +0900
+++ b/gcc/config/nds32/nds32-pipelines-auxiliary.c	Thu Feb 13 11:34:05 2020 +0900
@@ -1,6 +1,6 @@
 /* Auxiliary functions for pipeline descriptions pattern of Andes
    NDS32 cpu for GNU compiler
-   Copyright (C) 2012-2018 Free Software Foundation, Inc.
+   Copyright (C) 2012-2020 Free Software Foundation, Inc.
    Contributed by Andes Technology Corporation.
 
    This file is part of GCC.
@@ -363,14 +363,19 @@
     return reg_overlap_p (def_reg, use_reg);
 
   gcc_assert (REG_P (def_reg) || GET_CODE (def_reg) == SUBREG);
-  gcc_assert (REG_P (use_reg));
+  gcc_assert (REG_P (use_reg) || GET_CODE (use_reg) == SUBREG);
 
   if (REG_P (def_reg))
     {
-      if (!TARGET_BIG_ENDIAN)
-	return REGNO (def_reg) == REGNO (use_reg) + 1;
+      if REG_P (use_reg)
+	{
+	  if (!TARGET_BIG_ENDIAN)
+	    return REGNO (def_reg) == REGNO (use_reg) + 1;
+	  else
+	    return REGNO (def_reg) == REGNO (use_reg);
+	}
       else
-	return  REGNO (def_reg) == REGNO (use_reg);
+	return true;
     }
 
   if (GET_CODE (def_reg) == SUBREG)
@@ -378,6 +383,9 @@
       if (!reg_overlap_p (def_reg, use_reg))
 	return false;
 
+      if (GET_CODE (use_reg) == SUBREG)
+	return true;
+
       if (!TARGET_BIG_ENDIAN)
 	return SUBREG_BYTE (def_reg) == 4;
       else