From 80f058cdd7bffcefbb17d099f222be85d7777e69 Mon Sep 17 00:00:00 2001 From: uros Date: Thu, 29 Mar 2012 21:57:30 +0000 Subject: [PATCH] * config/i386/sse.md (avx_hv4df3): Fix results crossing 128bit lane boundary. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185978 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/sse.md | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 270d48b..9c36a8a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-03-29 Uros Bizjak + + * config/i386/sse.md (avx_hv4df3): Fix results + crossing 128bit lane boundary. + 2012-03-29 Vladimir Makarov * 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 96e43a2..b63d774 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)]))))))] -- 2.7.4