From 4049b3760e3141906fa86ab9071d4bd86c6a8b13 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 13 Dec 2004 07:38:45 +0100 Subject: [PATCH] re PR target/14941 (i386.md strangeness in sse2_movsd) PR target/14941 PR target/18503 * config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd): Fix wrong vec_merge selector bitmask. From-SVN: r92077 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386.md | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b62d1622024..5f22db1f8a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-12-13 Uros Bizjak + + PR target/14941 + PR target/18503 + * config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd): + Fix wrong vec_merge selector bitmask. + 2004-12-12 Richard Henderson PR rtl-opt/17186 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 135017f643b..f2c3c44dc59 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -20819,7 +20819,7 @@ (vec_merge:V4SF (match_operand:V4SF 1 "register_operand" "0") (match_operand:V4SF 2 "register_operand" "x") - (const_int 1)))] + (const_int 14)))] "TARGET_SSE" "movss\t{%2, %0|%0, %2}" [(set_attr "type" "ssemov") @@ -24249,7 +24249,7 @@ (vec_merge:V2DF (match_operand:V2DF 1 "nonimmediate_operand" "0,0") (match_operand:V2DF 2 "nonimmediate_operand" "m,x") - (const_int 2)))] + (const_int 1)))] "TARGET_SSE2 && (GET_CODE (operands[1]) == MEM || GET_CODE (operands[2]) == MEM)" "movhpd\t{%2, %0|%0, %2}" [(set_attr "type" "ssecvt") @@ -24281,7 +24281,7 @@ (vec_merge:V2DF (match_operand:V2DF 1 "nonimmediate_operand" "0,0,0") (match_operand:V2DF 2 "nonimmediate_operand" "x,m,x") - (const_int 1)))] + (const_int 2)))] "TARGET_SSE2 && ix86_binary_operator_ok (UNKNOWN, V2DFmode, operands)" "@movsd\t{%2, %0|%0, %2} movlpd\t{%2, %0|%0, %2} -- 2.30.2