re PR target/54564 (Broken __builtin_ia32_vfmadds[sd]3)
authorJakub Jelinek <jakub@gcc.gnu.org>
Fri, 14 Sep 2012 12:36:33 +0000 (14:36 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 14 Sep 2012 12:36:33 +0000 (14:36 +0200)
PR target/54564
* config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
instead of (match_dup 0) as second argument to vec_merge.
(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
Remove third alternative.
(*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
operand 2 instead of operand 1, but put it as first argument
of fma.

* config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
_mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
of the first.

From-SVN: r191297

gcc/ChangeLog
gcc/testsuite/ChangeLog

index f1aedb2361aae48636defdb7618b1dcd173bd645..cf466ddfb0d19ce4bf59af2ffa10de9ccb945801 100644 (file)
@@ -1,3 +1,14 @@
+2012-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/54564
+       * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
+       instead of (match_dup 0) as second argument to vec_merge.
+       (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
+       Remove third alternative.
+       (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
+       operand 2 instead of operand 1, but put it as first argument
+       of fma.
+
 2012-09-14  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/54565
index e274bc348c70af4781399402d21fa5f5ea9089e7..dd8fb335390146ab5d7d7290696dd0ac10fa55e5 100644 (file)
@@ -1,3 +1,10 @@
+2012-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/54564
+       * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
+       _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
+       of the first.
+
 2012-09-14  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/54565