[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Bug 65964 depends on bug 14844, which changed state. Bug 14844 Summary: [tree-ssa] narrow types if wide result is not needed for unsigned types or when wrapping is true https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14844 What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |WORKSFORME
[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Bug 65964 depends on bug 45397, which changed state. Bug 45397 Summary: [6 Regression] Issues with integer narrowing conversions https://gcc.gnu.org/bugzilla/show_bug.cgi?id=45397 What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED
[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Bug 65964 depends on bug 39726, which changed state. Bug 39726 Summary: [5 Regression][cond-optab] ColdFire pessimizations on QImode/HImode tests https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39726 What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED
[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Bug 65964 depends on bug 60145, which changed state. Bug 60145 Summary: [AVR] Suboptimal code for byte order shuffling using shift and or https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60145 What|Removed |Added Status|RESOLVED|NEW Resolution|DUPLICATE |---
[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Bug 65964 depends on bug 41076, which changed state. Bug 41076 Summary: [avr] pessimal code for logical OR of 8-bit fields https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41076 What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED
[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Andrew Pinski changed: What|Removed |Added Keywords||missed-optimization Severity|normal |enhancement
[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Bug 65964 depends on bug 65958, which changed state. Bug 65958 Summary: -fstack-check breaks alloca on architectures using generic stack checking https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65958 What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED
[Bug tree-optimization/65964] [meta] Operand Shortening
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65964 Georg-Johann Lay gjl at gcc dot gnu.org changed: What|Removed |Added CC||gjl at gcc dot gnu.org --- Comment #1 from Georg-Johann Lay gjl at gcc dot gnu.org --- Created attachment 35437 -- https://gcc.gnu.org/bugzilla/attachment.cgi?id=35437action=edit combo.c: C test case The problem in PR41076 is mostly about composing bytes to wider integer values as indicated in the test case. It can be handled in the backend (in the case of avr) by adding some more complex combiner patterns, at least for the 16-bit cases like for (from .combine dump): (set (regi:HI 24) (ior:HI (ashift:HI (reg:HI 51) (const_int 8)) (zero_extend:HI (reg:QI 24 or (set (reg:HI 24) (ior:HI (ashift:HI (zero_extend:HI (reg:QI 49)) (const_int 8)) (zero_extend:HI (reg:QI 24 The 32-bit cases are beyond anything a sane avr backend could do. Maybe such patterns could be detected similar to the bswap detection? (which does not work very well from my experience).