This is the mail archive of the gcc-patches@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: [patch] Fix PR rtl-optimization/78437


On 11/23/2016 05:26 AM, Bernd Schmidt wrote:
On 11/23/2016 11:18 AM, Paolo Bonzini wrote:


On 23/11/2016 10:35, Eric Botcazou wrote:
I now wonder
whether this also matters for !WORD_REGISTER_OPERATIONS targets, e.g.
x86:

         (set (reg1:DI) ...
         ...
     (set (reg1:QI) (expression:QI))
     ...
     (set (reg2:DI) (any_extend:DI (reg1:QI)))
         ...
         (use (reg1:DI))

where the use reads well-defined upper bits from the very first set.

Does it really do that with a (set (reg1:QI)), as opposed to a
(set (strict_low_part (subreg:QI (reg1:DI)))?

It would need strict_low_part unless we're dealing with subwords. I
think the patch should maybe check for that in the !W_R_O case.

Does WORD_REGISTER_OPERATIONS really buy much on targets that use it?
This sort of situation seems very surprising and unfortunate.
It certainly was helpful on the PA back in the day. Less sure on modern systems.
jeff


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