https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66148
--- Comment #5 from dave.anglin at bell dot net --- On 2015-05-25, at 3:21 AM, thopre01 at gcc dot gnu.org wrote: > Here the REG_EQUAL does not match the value that is set: the 32 most > significant bits are zero. Which is why combine decide that the set of > zero_extract can be removed. Looking at the dumps of the various pass, > everything looks fine until cse1 where instruction 360 is replaced from: > > (insn 360 359 361 32 (set (reg:DI 549) > (lo_sum:DI (reg:DI 550) > (const_int -822083584 [0xffffffffcf000000]))) > ../../gcc/gcc/genpreds.c:983 93 {*pa.md:2773} > (expr_list:REG_EQUAL (const_int 3472883712 [0xcf000000]) > (nil))) The note appears wrong before cse1. Dave -- John David Anglin dave.ang...@bell.net