[Bug tree-optimization/65964] [meta] Operand Shortening

2019-03-04 Thread steven at gcc dot gnu.org
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

2018-11-19 Thread marxin at gcc dot gnu.org
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

2018-03-22 Thread egallager at gcc dot gnu.org
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

2016-11-28 Thread gjl at gcc dot gnu.org
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

2016-11-28 Thread gjl at gcc dot gnu.org
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

2016-08-24 Thread pinskia at gcc dot gnu.org
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

2015-12-04 Thread ebotcazou at gcc dot gnu.org
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

2015-05-01 Thread gjl at gcc dot gnu.org
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).