diff options
| author | Andrew Pinski <andrew.pinski@oss.qualcomm.com> | 2026-01-28 16:50:52 -0800 |
|---|---|---|
| committer | Andrew Pinski <andrew.pinski@oss.qualcomm.com> | 2026-01-29 13:50:47 -0800 |
| commit | 41f293e72c253301f71fefc5a5e1040cb468e4ed (patch) | |
| tree | 8f84bd0d95f221e7fb3e3bb7427628727dabc0c6 /libjava/classpath/org | |
| parent | 57f571f7283c72e958f59090f3699bf0111b6bfd (diff) | |
| download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 | |
The problem here is we try to use the widening type before
doing the bitwise expansion of neg/and for floating point types.
This moves the code around to try the bitwise expansion first.
Note this mostly matters for NaNs where you widening (promotion)
would cause a NaN to be slightly different when doing the rounding
back.
Bootstrapped and tested on x86_64-linux-gnu.
PR middle-end/123869
gcc/ChangeLog:
* optabs.cc (expand_unop): Move the NEG optab
handling before the widening code.
Move the ABS bitwise expansion from expand_abs_nojump
to before the widening code.
(expand_abs_nojump): Remove the bitwise expansion trial
since expand_unop is called right above.
Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
Diffstat (limited to 'libjava/classpath/org')
0 files changed, 0 insertions, 0 deletions
