https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119966
Dimitar Dimitrov <dimitar at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |15.1.0
--- Comment #1 from Dimitar Dimitrov <dimitar at gcc dot gnu.org> ---
late_combine2 transforms:
(insn 3949 3948 3951 255 (set (reg:QI 56 r14.b0 [orig:1856 _619 ] [1856])
(and:QI (reg:QI 1 r0.b1 [orig:1855 _201 ] [1855])
(const_int 3 [0x3])))
(nil))
...
(insn 3961 7067 3962 255 (set (reg:SI 56 r14.b0)
(zero_extend:SI (reg:QI 56 r14.b0 [orig:1856 _619 ] [1856])))
(nil))
into:
(insn 3961 7067 3962 255 (set (reg:SI 56 r14.b0)
(and:SI (subreg:SI (reg:QI 1 r0.b1 [orig:1855 _201 ] [1855]) 0)
(const_int 3 [0x3])))
(nil))
That paradoxical hardware register is not valid. It was not validated
with pru_hard_regno_mode_ok because the latter would have rejected it.