i386: Disable *<absneg:code><mode>2_i387_1 for TARGET_SSE_MATH modes
authorUros Bizjak <ubizjak@gmail.com>
Thu, 19 Nov 2020 08:23:46 +0000 (09:23 +0100)
committerUros Bizjak <ubizjak@gmail.com>
Thu, 19 Nov 2020 08:25:04 +0000 (09:25 +0100)
commit50134189a434e638861f8bf27d5caab9622811c8
tree2c5f1d2c50f589e90ab450535e3c9e0b034f34e1
parent700337494e1b0d5ff608e1a3c77852381e264653
i386: Disable *<absneg:code><mode>2_i387_1 for TARGET_SSE_MATH modes

This pattern interferes with *<absneg:code><mode>2_1 when TARGET_SSE_MATH
modes are active. Combine pass is able to remove (use) RTXes and transforms
*<absneg:code><mode>2_1 to *<absneg:code><mode>2_i387_1 where SSE
alternatives are not available.

2020-11-19  Uroš Bizjak  <ubizjak@gmail.com>

gcc/
* config/i386/i386.md (*<absneg:code><mode>2_i387_1):
Disable for TARGET_SSE_MATH modes.

gcc/testsuite/
* gcc.target/i386/pr97887.c: New test.
gcc/config/i386/i386.md
gcc/testsuite/gcc.target/i386/pr97887.c [new file with mode: 0644]