[Bug middle-end/48353] New: Bootstrap fail due to invalid register pair being assigned to pseudo
krebbel at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Mar 30 07:18:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48353
Summary: Bootstrap fail due to invalid register pair being
assigned to pseudo
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: krebbel@gcc.gnu.org
Created attachment 23811
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23811
testcase
Compiling the attached testcase with -O2 produces an invalid divide
instruction:
dsgfr %r7,%r1
The first parameter needs to an even numbered register.
from ira dump:
Try Assign 103(a10), cost=226: reassign to 7
changing reg in insn 50
Register 93 now in 3.
Register 103 now in 7.
(insn 50 40 62 4 (set (reg:TI 7 %r7 [103])
(ior:TI (ashift:TI (zero_extend:TI (mod:DI (reg:DI 8 %r8 [99])
(sign_extend:DI (reg/v:SI 1 %r1 [orig:49 copy_nregs ]
[49]))))
(const_int 64 [0x40]))
(zero_extend:TI (div:DI (reg:DI 8 %r8 [99])
(sign_extend:DI (reg/v:SI 1 %r1 [orig:49 copy_nregs ]
[49])))))) t.c:32 380 {divmodtisi3}
(nil))
More information about the Gcc-bugs
mailing list