diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h index 140ff2741ef6..469a56208d50 100644 --- a/gcc/config/rs6000/rs6000.h +++ b/gcc/config/rs6000/rs6000.h @@ -1708,14 +1708,13 @@ typedef struct rs6000_args && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 0) \ && (((MODE) != DFmode && (MODE) != DImode) \ || (TARGET_32BIT \ - ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \ - : ! (INTVAL (XEXP (X, 1)) & 3))) \ + ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4) \ + : ! (INTVAL (XEXP (X, 1)) & 3))) \ && ((MODE) != TImode \ || (TARGET_32BIT \ - && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 4)) \ - || (TARGET_64BIT \ - && ! (INTVAL (XEXP (X, 1)) & 3) \ - && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 8)))) + ? LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 12) \ + : (LEGITIMATE_ADDRESS_INTEGER_P (XEXP (X, 1), 8) \ + && ! (INTVAL (XEXP (X, 1)) & 3))))) #define LEGITIMATE_INDEXED_ADDRESS_P(X) \ (GET_CODE (X) == PLUS \