sse.md (avx_h<plusminus_insn>v4df3): Fix results crossing 128bit lane boundary.

* config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
	crossing 128bit lane boundary.

From-SVN: r185979
This commit is contained in:
Uros Bizjak 2012-03-30 00:07:09 +02:00 committed by Uros Bizjak
parent d9b7123a02
commit aa9488f6c3
2 changed files with 10 additions and 5 deletions

View 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

View File

@ -1175,15 +1175,15 @@
(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)]))))))]