Re: Unnesting of nested subreg expressions

2005-04-25 Thread James E Wilson
Björn Haase wrote: misses therefore a lot of optimizations. I am presently trying to remove the define_insn for the HImode and SImode operations by implementing the lowering to QImode at expand or at least after reload (for those operations that leave the condition code in a useable state like a

Re: Unnesting of nested subreg expressions

2005-04-22 Thread Björn Haase
James E Wilson wrote: > You were never very clear about what was wrong with gen_highpart and > gen_lowpart with respect to subregs. rtl examples are always helpful, > e.g. showing RTL input and RTL output and pointing out what is wrong. > gen_lowpart already has support for subreg input and presu

Re: Unnesting of nested subreg expressions

2005-04-21 Thread James E Wilson
Björn Haase wrote: So far, I now think that the solution of the issue would be to extend gen_lowpart and gen_highpart so that they are able to handle also subreg inputs and use them at all places that emmit RTL (i.e. expand and split). Question is whether I should try to simultaneously implement

Re: Unnesting of nested subreg expressions

2005-04-21 Thread Björn Haase
Thank you for your answer! Am Donnerstag, 21. April 2005 05:11 schrieb James E Wilson: > Björn Haase wrote: > > The mid-end seems not to be able to simplify nested subreg expressions. > > I.e. it seems that there is no known transformation > >(subreg:QI (subreg:HI (reg:SI xx) 0) 0) > > Nested

Re: Unnesting of nested subreg expressions

2005-04-20 Thread James E Wilson
Björn Haase wrote: The mid-end seems not to be able to simplify nested subreg expressions. I.e. it seems that there is no known transformation (subreg:QI (subreg:HI (reg:SI xx) 0) 0) Nested subregs aren't valid. You should refrain from creating them. (define_expand "xorhi3" [(set (subreg:QI