[Bug middle-end/90323] powerpc should convert equivalent sequences to vec_sel()
luoxhu at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Apr 9 07:29:50 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #12 from luoxhu at gcc dot gnu.org ---
That code was called by combine pass but fail to match.
pr newpat
(set (reg:DI 125 [ l ])
(xor:DI (and:DI (xor:DI (reg/v:DI 120 [ l ])
(reg:DI 127))
(const_int 267390975 [0xff00fff]))
(reg/v:DI 120 [ l ])))
Trying 8, 10 -> 11:
8: r123:DI=r120:DI^r127:DI
REG_DEAD r127:DI
10: r118:DI=r123:DI&0xff00fff
REG_DEAD r123:DI
11: r125:DI=r118:DI^r120:DI
REG_DEAD r120:DI
REG_DEAD r118:DI
Failed to match this instruction:
(set (reg:DI 125 [ l ])
(ior:DI (and:DI (reg/v:DI 120 [ l ])
(const_int -267390976 [0xfffffffff00ff000]))
(and:DI (reg:DI 127)
(const_int 267390975 [0xff00fff]))))
Successfully matched this instruction:
(set (reg:DI 118 [ _2 ])
(and:DI (reg:DI 127)
(const_int 267390975 [0xff00fff])))
Failed to match this instruction:
(set (reg:DI 125 [ l ])
(ior:DI (and:DI (reg/v:DI 120 [ l ])
(const_int -267390976 [0xfffffffff00ff000]))
(reg:DI 118 [ _2 ])))
More information about the Gcc-bugs
mailing list