[Bug rtl-optimization/83272] Unnecessary mask instruction generated

2021-08-14 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83272 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement Last reconfirmed|

[Bug rtl-optimization/83272] Unnecessary mask instruction generated

2017-12-05 Thread slash.tmp at free dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83272 --- Comment #3 from Mason --- I think Jakub is right about an interaction between movzbl and shrb. unsigned long long foo1(unsigned char *p) { return *p; } foo1: movzbl (%rdi), %eax ret I.e. gcc "knows" that movzbl clears the

[Bug rtl-optimization/83272] Unnecessary mask instruction generated

2017-12-04 Thread slash.tmp at free dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83272 --- Comment #2 from Mason --- (In reply to Jakub Jelinek from comment #1) > I don't believe the andl is not needed after shrb, as that is an 8-bit > operand size, it should leave the upper 56 bits of the register unmodified. > And unsigned char

[Bug rtl-optimization/83272] Unnecessary mask instruction generated

2017-12-04 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83272 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #1