This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The core of the problem is in memory_address(), where we force autoincremented/autodecremented reference register into pseudo. This causes invalid instruction:
(set (reg/f:SI 61) (pre_dec:SI (reg/f:SI 7 sp))) -1 (nil) (nil))
Attached patch fixes the failure. The patch was bootstrapped on i686-pc-linux-gnu and regression tested with -mtune=i386. OK for mainline?
PR rtl-optimization/31344 * explow.c (memory_address): Do not force autoincremented or autodecremented address references into pseudo register.
PR rtl-optimization/31344 * gcc.dg/pr31344.c: New test.
Attachment:
pr31344.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |