diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2012-03-29 23:57:30 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-03-29 23:57:30 +0200 |
commit | a15d0d03ae76176f7f4195abb2b9d1058d81599a (patch) | |
tree | 910288132554cc3aec238503d5d636c3cbf8ff1b /gcc | |
parent | 63737e7a0c43a6f78c3ed5f1960a991e3c6bb72a (diff) | |
download | gcc-a15d0d03ae76176f7f4195abb2b9d1058d81599a.tar.gz |
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: r185978
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 10 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 270d48bd7c1..9c36a8ac4d5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 Vladimir Makarov <vmakarov@redhat.com> * ira-color.c (setup_left_conflict_sizes_p): Process all diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 96e43a22ca9..b63d774e43f 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -1175,14 +1175,14 @@ (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)]))))))] |