summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2012-03-29 23:57:30 +0200
committerUros Bizjak <uros@gcc.gnu.org>2012-03-29 23:57:30 +0200
commita15d0d03ae76176f7f4195abb2b9d1058d81599a (patch)
tree910288132554cc3aec238503d5d636c3cbf8ff1b /gcc
parent63737e7a0c43a6f78c3ed5f1960a991e3c6bb72a (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/i386/sse.md10
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)]))))))]