------- Comment #21 from amylaar at gcc dot gnu dot org 2005-12-13 13:16 ------- (In reply to comment #17) > Created an attachment (id=10461) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=10461&action=view) [edit] > Instruction stream (stripped) before scheduling >
(insn/s 24 0 (set (subreg:SI (reg:DI 104) 0) (ior:SI (ashift:SI (reg:SI 102) (const_int 16 [0x10])) (lshiftrt:SI (subreg:SI (reg/v:DI 95 [ x ]) 4) (const_int 16 [0x10])))) 181 {*pa.md:6669} (insn_list:REG_DEP_ANTI 29 (nil)) (expr_list:REG_NO_CONFLICT (reg/v:DI 95 [ x ]) (nil))) (insn/s 28 0 (set (subreg:SI (reg:DI 104) 4) (ior:SI (ashift:SI (reg:SI 99 [ x ]) (const_int 16 [0x10])) (lshiftrt:SI (subreg:SI (reg/v:DI 95 [ x ]) 0) (const_int 16 [0x10])))) 181 {*pa.md:6669} (insn_list:REG_DEP_ANTI 24 (nil)) (expr_list:REG_NO_CONFLICT (reg/v:DI 95 [ x ]) (nil))) If (reg/v:DI 95 [ x ]) and (reg:DI 104) are assigned to the same hard register, (subreg:SI (reg/v:DI 95 [ x ]) 0) gets clobbered in insn 24, before it is used in insn 28. Therefore, the REG_NO_CONFLICT block containing these two instructions is bogus. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23837 ------- You are receiving this mail because: ------- You reported the bug, or are watching the reporter. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]