https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56711
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot
gnu.org
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I am going to look into implementing this.
Shouldn't be hard:
_5 = a_2(D) & 18446744069414584320;
_1 = _5 != 0;
Note for aarch64 we want to do the opposite on the RTL level though.
Clang is able to produce the shift for x86_64 but for armv8, these two
functions have different code gen :).