diff options
author | Uros Bizjak <uros@kss-loka.si> | 2004-12-13 07:38:45 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2004-12-13 07:38:45 +0100 |
commit | 4049b3760e3141906fa86ab9071d4bd86c6a8b13 (patch) | |
tree | 926f75a081dc26e0a8897473288e784b81345f93 /gcc | |
parent | b80a3161c35f02b31117ad49b8eb7a88dfc73b36 (diff) | |
download | gcc-4049b3760e3141906fa86ab9071d4bd86c6a8b13.zip gcc-4049b3760e3141906fa86ab9071d4bd86c6a8b13.tar.gz gcc-4049b3760e3141906fa86ab9071d4bd86c6a8b13.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b62d162..5f22db1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2004-12-13 Uros Bizjak <uros@kss-loka.si> + + 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 <rth@redhat.com> PR rtl-opt/17186 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 135017f..f2c3c44 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} |