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]

is subreg with subreg_byte outside source valid?


Hi
I am just investigating the second failure in powerpc testsuite.
The problem is caused by combine converting:
(set (reg:QI 102)
    (subreg:QI (ior:SI (reg:SI 87)
            (subreg:SI (reg:HI 86) 0)) 3))
to:
(set (reg:QI 102)
    (subreg:QI (reg:HI 86) 3))
The subreg_byte is 3 and points outside.  Is this valid? (I doubt so,
since if we place there memory destination later, we run out of the
value).

If it is not valid, can I optimize it somehow (for instance by replacing
it by const0)?, or do I need to prohibit such converison entriely, as
combine may expect some magic valud at that place?

Thanks,
Honza


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