[Bug tree-optimization/94086] Missed optimization when converting a bitfield to an integer on x86-64

2021-08-21 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94086

--- Comment #4 from Andrew Pinski  ---
The testcase in comment #0 in GCC11+ GCC can optimize it to just a move
followed by a return.  Note the optimization only happens on the RTL level
even.
I have not looked into what allowed this to be optimized yet.

[Bug tree-optimization/94086] Missed optimization when converting a bitfield to an integer on x86-64

2020-05-10 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94086

Eric Gallager  changed:

   What|Removed |Added

 CC||egallager at gcc dot gnu.org

--- Comment #3 from Eric Gallager  ---
Possibly related to and/or a dup of bug 83784?

[Bug tree-optimization/94086] Missed optimization when converting a bitfield to an integer on x86-64

2020-03-09 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94086

Richard Biener  changed:

   What|Removed |Added

 Ever confirmed|0   |1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2020-03-09

--- Comment #2 from Richard Biener  ---
Confirmed.  This is another task for a combined bswap/store-merging where the
bswap tracking would need to be extended to cover bits.

Also part of the reason for the missed optimization is that on GIMPLE we
think 'half' is memory but in reality it is in a register.

[Bug tree-optimization/94086] Missed optimization when converting a bitfield to an integer on x86-64

2020-03-08 Thread alex_lop at walla dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94086

alex_lop at walla dot com changed:

   What|Removed |Added

 CC||alex_lop at walla dot com

--- Comment #1 from alex_lop at walla dot com ---
Relevant discussion on stackoverflow:
https://stackoverflow.com/q/60580591/5218277

[Bug tree-optimization/94086] Missed optimization when converting a bitfield to an integer on x86-64

2020-03-07 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94086

Andrew Pinski  changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu.org
   Severity|normal  |enhancement
  Component|c   |tree-optimization