[Bug rtl-optimization/104950] GCC does not emit branchless code for load next to each other
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Mar 16 09:31:07 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104950
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=102008
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Hongtao.liu from comment #4)
> (In reply to Richard Biener from comment #3)
> > Ah, on aarch64 we get
> >
> > cmp w0, 0
> > add x0, x1, 4
> > csel x0, x0, x1, eq
> > ldr w0, [x0]
> >
> > so we do not load from the possibly trapping mem. With the testcase I
> > provided and -fno-tree-sink on x86_64 we get
>
> Not for this one
>
> float
> foo (float a, float b, float *c, int i, int j)
> {
> return a > b ? c[i] : c[j];
> }
That one is recorded as PR
More information about the Gcc-bugs
mailing list