From: Uros Bizjak Date: Thu, 29 Mar 2012 22:10:01 +0000 (+0200) Subject: sse.md (avx_hv4df3): Fix results crossing 128bit lane boundary. X-Git-Tag: releases/gcc-4.5.4~162 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d14f99365064b2a4e0af82eb9d7261cfe0b661c6;p=thirdparty%2Fgcc.git sse.md (avx_hv4df3): Fix results crossing 128bit lane boundary. * config/i386/sse.md (avx_hv4df3): Fix results crossing 128bit lane boundary. From-SVN: r185981 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bdbbe760bb47..81edd85172f2 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 Uros Bizjak Backported from mainline diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index bc97e50ff864..41f03a32254b 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -1267,15 +1267,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)]))))))]