[Bug middle-end/113179] [11/12/13/14 Regression] MIPS: INS is used for long long, before SLL
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Dec 31 06:44:21 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113179
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|rtl-optimization |middle-end
Ever confirmed|0 |1
Keywords| |needs-bisection
Last reconfirmed| |2023-12-31
Status|UNCONFIRMED |NEW
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
5.4 produced during expand:
```
(insn 10 7 11 2 (set (reg:QI 198 [ D.1502 ])
(truncate:QI (reg/v:DI 197 [ b ]))) /app/example.cpp:10 -1
(nil))
(insn 11 10 12 2 (set (reg:SI 199)
(mem/j:SI (reg/v/f:DI 196 [ a ]) [1 a_5(D)->d+-3 S4 A32]))
/app/example.cpp:10 -1
(nil))
(insn 12 11 13 2 (set (zero_extract:SI (reg:SI 199)
(const_int 1 [0x1])
(const_int 0 [0]))
(subreg:SI (reg:QI 198 [ D.1502 ]) 0)) /app/example.cpp:10 -1
(nil))
```
But 11.2.0 produces:
```
(insn 10 7 11 2 (set (reg:SI 197)
(mem/j:SI (reg/v/f:DI 195 [ a ]) [1 a_4(D)->d+-3 S4 A32]))
"/app/example.cpp":10:14 -1
(nil))
(insn 11 10 12 2 (set (zero_extract:SI (reg:SI 197)
(const_int 1 [0x1])
(const_int 0 [0]))
(subreg:SI (reg/v:DI 196 [ b ]) 4)) "/app/example.cpp":10:14 -1
(nil))
```
The truncate is missing ...
Would be interesting to do a bisect here on what caused the wrong code ...
More information about the Gcc-bugs
mailing list