refs #229: disable the peepholes on 68000/10 if the offset is > 16 bit

This commit is contained in:
bebbo 2024-05-08 09:45:54 +02:00
parent fb232ad10f
commit e6d2aa64df

View File

@ -9226,6 +9226,7 @@
MEM_P(operands[3]) &&
ADDRESS_REG_P(XEXP(operands[3], 0)) &&
XEXP(operands[3], 0) == operands[0] &&
((!TARGET_68000 && !TARGET_68010) || IN_RANGE (INTVAL (operands[2]), -32768, 32767)) &&
!reg_overlap_mentioned_p(operands[0], operands[4])
"
[(set (match_dup 5) (match_dup 4))
@ -9248,8 +9249,9 @@
]
"operands[0] != operands[1] &&
offsettable_nonstrict_memref_p(operands[3]) &&
((!TARGET_68000 && !TARGET_68010) || IN_RANGE (INTVAL (operands[2]), -32768, 32767)) &&
!reg_overlap_mentioned_p(operands[0], operands[3]) && !reg_overlap_mentioned_p(operands[0], operands[4]) &&
!reg_overlap_mentioned_p(operands[1], operands[4])
!reg_overlap_mentioned_p(operands[1], operands[4])
"
[(set (match_dup 3) (match_dup 4))
(set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))]
@ -9271,7 +9273,8 @@
"operands[0] != operands[1] && ADDRESS_REG_P(operands[1]) &&
MEM_P(operands[3]) && GET_CODE(XEXP(operands[3], 0)) == PLUS &&
ADDRESS_REG_P(XEXP(XEXP(operands[3], 0), 0)) &&
CONST_INT_P(XEXP(XEXP(operands[3], 0), 0)) &&
CONST_INT_P(XEXP(XEXP(operands[3], 0), 0)) &&
((!TARGET_68000 && !TARGET_68010) || IN_RANGE (INTVAL (operands[2]), -32768, 32767)) &&
!reg_overlap_mentioned_p(operands[0], operands[3]) && !reg_overlap_mentioned_p(operands[0], operands[4])
"
[(set (match_dup 3) (match_dup 4))
@ -9293,7 +9296,7 @@
(plus (match_dup 0) (match_operand:SI 3 "const_int_operand" "")))
]
"operands[0] != operands[1] && ADDRESS_REG_P (operands[1]) &&
IN_RANGE (INTVAL (operands[2]) + INTVAL (operands[3]), -32768, 32767) &&
((!TARGET_68000 && !TARGET_68010) || IN_RANGE (INTVAL (operands[2]), -32768, 32767)) &&
peep2_reg_dead_p (2, operands[0])
"
[(set (match_dup 1) (plus:SI (match_dup 1) (match_dup 4)))]