https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78438

--- Comment #5 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Why is this wrong?  This isn't the same reg 94 (it is reused):

Failed to match this instruction:
(set (mem/c:QI (symbol_ref:DI ("a") [flags 0x2]  <var_decl 0x3fffa1d60cf0 a>)
[0 a+0 S1 A8])
    (subreg:QI (ashiftrt:SI (reg:SI 93 [ b ])
            (const_int 26 [0x1a])) 0))
Successfully matched this instruction:
(set (reg:SI 94)
    (ashiftrt:SI (reg:SI 93 [ b ])
        (const_int 26 [0x1a])))
Successfully matched this instruction:
(set (mem/c:QI (symbol_ref:DI ("a") [flags 0x2]  <var_decl 0x3fffa1d60cf0 a>)
[0 a+0 S1 A8])
    (subreg:QI (reg:SI 94) 0))

The low 8 bits of  r93 a>> 26  are exactly what we need to store afaics?

Reply via email to