diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-10-15 19:38:46 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2024-10-15 19:38:46 +0200 |
commit | 4366f0c7e296ea0d7279343c9b0a1d597588a1da (patch) | |
tree | 513b036d7c93f53bb88594d046e2eabf5d0f2b1d /libcpp/files.cc | |
parent | 8161c4adea7f1842f9d28633d82e912ebb7a4cf9 (diff) | |
download | gcc-4366f0c7e296ea0d7279343c9b0a1d597588a1da.zip gcc-4366f0c7e296ea0d7279343c9b0a1d597588a1da.tar.gz gcc-4366f0c7e296ea0d7279343c9b0a1d597588a1da.tar.bz2 |
match.pd: Further fma negation fixes [PR116891]
On Mon, Oct 14, 2024 at 08:53:29AM +0200, Jakub Jelinek wrote:
> > PR middle-end/116891
> > * match.pd ((negate (IFN_FNMS@3 @0 @1 @2)) -> (IFN_FMA @0 @1 @2)):
> > Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING.
>
> Guess it would be nice to have a testcase which FAILs without the patch and
> PASSes with it, but it can be added later.
I've added such a testcase now, and additionally found the fix only fixed
one of the 4 problematic similar cases.
Here is a patch which fixes the others too and adds the testcases.
fma-pr116891.c FAILed without your patch, FAILs with your patch too (but
only due to the bar/baz/qux checks) and PASSes with the patch.
2024-10-15 Jakub Jelinek <jakub@redhat.com>
PR middle-end/116891
* match.pd ((negate (fmas@3 @0 @1 @2)) -> (IFN_FNMS @0 @1 @2)):
Only enable for !HONOR_SIGN_DEPENDENT_ROUNDING.
((negate (IFN_FMS@3 @0 @1 @2)) -> (IFN_FNMA @0 @1 @2)): Likewise.
((negate (IFN_FNMA@3 @0 @1 @2)) -> (IFN_FMS @0 @1 @2)): Likewise.
* gcc.dg/pr116891.c: New test.
* gcc.target/i386/fma-pr116891.c: New test.
Diffstat (limited to 'libcpp/files.cc')
0 files changed, 0 insertions, 0 deletions