This is the mail archive of the gcc@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]

RE: Issues with GCSE pre step and double hard registers


> I don't think this is not the right fix for the problem. GCSE doesn't handle
> expressions containing hard registers, oprs_unchanged_p should never even
> see expressions involving hard registers.

I was afraid of this one.

> 
> What is the expression that is recorded as anticipated in insn 38? Is it "mho:SI
> 0>>0x3" or "udiv(r159:SI,0xa)" from the REG_EQUAL note?
> 

Instruction 38. 

As far as I can see, a solution is to use a split pattern after register allocation to describe the multiplication (now it is done in the expand). Another one, is to force the gcse to check the regnotes (REG_EQUAL) rather than the instruction itself.

Best,
Claudiu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]