]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/recog.c
rtl.h (struct rtx_def): Add comment for field jump.
[gcc.git] / gcc / recog.c
index ed359f672394e9cbda800de593e16d96ebd97532..75d1113fcfbbd04459c941a0010e57469bc0f068 100644 (file)
@@ -1065,7 +1065,11 @@ register_operand (rtx op, enum machine_mode mode)
          && REGNO (sub) < FIRST_PSEUDO_REGISTER
          && REG_CANNOT_CHANGE_MODE_P (REGNO (sub), GET_MODE (sub), mode)
          && GET_MODE_CLASS (GET_MODE (sub)) != MODE_COMPLEX_INT
-         && GET_MODE_CLASS (GET_MODE (sub)) != MODE_COMPLEX_FLOAT)
+         && GET_MODE_CLASS (GET_MODE (sub)) != MODE_COMPLEX_FLOAT
+         /* LRA can generate some invalid SUBREGS just for matched
+            operand reload presentation.  LRA needs to treat them as
+            valid.  */
+         && ! LRA_SUBREG_P (op))
        return 0;
 #endif
 
This page took 0.026998 seconds and 5 git commands to generate.