]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sse.md (avx_h<plusminus_insn>v4df3): Fix results crossing 128bit lane boundary.
authorUros Bizjak <ubizjak@gmail.com>
Thu, 29 Mar 2012 22:10:01 +0000 (00:10 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 29 Mar 2012 22:10:01 +0000 (00:10 +0200)
* config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
crossing 128bit lane boundary.

From-SVN: r185981

gcc/ChangeLog
gcc/config/i386/sse.md

index bdbbe760bb47fca3569cb0ac752e11a60c19ceb7..81edd85172f292fb1cfd656e9f411447a7fba814 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
+       crossing 128bit lane boundary.
+
 2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
 
        Backported from mainline
index bc97e50ff8648f81c0ed2a5c07d4dc6663de021e..41f03a32254b50885f68c232ae246c79c9fba274 100644 (file)
                (match_operand:V4DF 1 "register_operand" "x")
                (parallel [(const_int 0)]))
              (vec_select:DF (match_dup 1) (parallel [(const_int 1)])))
-           (plusminus:DF
-             (vec_select:DF (match_dup 1) (parallel [(const_int 2)]))
-             (vec_select:DF (match_dup 1) (parallel [(const_int 3)]))))
-         (vec_concat:V2DF
            (plusminus:DF
              (vec_select:DF
                (match_operand:V4DF 2 "nonimmediate_operand" "xm")
                (parallel [(const_int 0)]))
-             (vec_select:DF (match_dup 2) (parallel [(const_int 1)])))
+             (vec_select:DF (match_dup 2) (parallel [(const_int 1)]))))
+         (vec_concat:V2DF
+           (plusminus:DF
+             (vec_select:DF (match_dup 1) (parallel [(const_int 2)]))
+             (vec_select:DF (match_dup 1) (parallel [(const_int 3)])))
            (plusminus:DF
              (vec_select:DF (match_dup 2) (parallel [(const_int 2)]))
              (vec_select:DF (match_dup 2) (parallel [(const_int 3)]))))))]