aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.md
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.co.uk>2000-10-31 10:04:44 +0000
committerBernd Schmidt <bernds@redhat.co.uk>2000-10-31 10:04:44 +0000
commit6f91271476dd47c039a4827d00da32fe3954a860 (patch)
treecaae1d2501f51d4be6b1811bcb447bfd56d84661 /gcc/config/i386/i386.md
parent1952f4f87af43ee2c319ee2576430f63a9d432f0 (diff)
MMX/SSE bugfixes
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@37154 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/i386.md')
-rw-r--r--gcc/config/i386/i386.md30
1 files changed, 15 insertions, 15 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 90b14824a68..1aea39e1d84 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -11999,7 +11999,7 @@
(define_insn "sse_movntdi"
[(set (match_operand:DI 0 "memory_operand" "=m")
- (unspec:DI [(match_operand:DI 1 "register_operand" "x")] 34))]
+ (unspec:DI [(match_operand:DI 1 "register_operand" "y")] 34))]
"TARGET_SSE"
"movntq\\t{%1, %0|%0, %1}"
[(set_attr "type" "sse")])
@@ -12773,7 +12773,7 @@
(const_int 1)])))
(const_int 1)))]
"TARGET_SSE"
- "pavgbn\\t{%2, %0|%0, %2}"
+ "pavgb\\t{%2, %0|%0, %2}"
[(set_attr "type" "sse")])
(define_insn "mmx_uavgv4hi3"
@@ -12788,15 +12788,15 @@
(const_int 1)])))
(const_int 1)))]
"TARGET_SSE"
- "pavgwn\\t{%2, %0|%0, %2}"
+ "pavgw\\t{%2, %0|%0, %2}"
[(set_attr "type" "sse")])
(define_insn "mmx_psadbw"
[(set (match_operand:V8QI 0 "register_operand" "=y")
- (abs:V8QI (minus:V8QI (match_operand:DI 1 "register_operand" "0")
- (match_operand:DI 2 "nonimmediate_operand" "ym"))))]
+ (abs:V8QI (minus:V8QI (match_operand:V8QI 1 "register_operand" "0")
+ (match_operand:V8QI 2 "nonimmediate_operand" "ym"))))]
"TARGET_SSE"
- "padbw\\t{%2, %0|%0, %2}"
+ "psadbw\\t{%2, %0|%0, %2}"
[(set_attr "type" "sse")])
@@ -13059,7 +13059,7 @@
(const_int 1)]))
(const_int 5)))]
"TARGET_MMX"
- "punpckhbw\\t{%2, %0|%0, %2}"
+ "punpckhwd\\t{%2, %0|%0, %2}"
[(set_attr "type" "mmx")])
(define_insn "mmx_punpckhdq"
@@ -13073,7 +13073,7 @@
(const_int 0)]))
(const_int 1)))]
"TARGET_MMX"
- "punpckhbw\\t{%2, %0|%0, %2}"
+ "punpckhdq\\t{%2, %0|%0, %2}"
[(set_attr "type" "mmx")])
(define_insn "mmx_punpcklbw"
@@ -13117,7 +13117,7 @@
(const_int 3)]))
(const_int 5)))]
"TARGET_MMX"
- "punpcklbw\\t{%2, %0|%0, %2}"
+ "punpcklwd\\t{%2, %0|%0, %2}"
[(set_attr "type" "mmx")])
(define_insn "mmx_punpckldq"
@@ -13131,7 +13131,7 @@
(const_int 1)]))
(const_int 1)))]
"TARGET_MMX"
- "punpcklbw\\t{%2, %0|%0, %2}"
+ "punpckldq\\t{%2, %0|%0, %2}"
[(set_attr "type" "mmx")])
@@ -13193,20 +13193,20 @@
(define_insn "prefetch"
[(unspec [(match_operand:SI 0 "address_operand" "p")
- (match_operand:SI 1 "address_operand" "p")] 35)]
+ (match_operand:SI 1 "immediate_operand" "n")] 35)]
"TARGET_SSE"
"*
{
switch (INTVAL (operands[1]))
{
case 0:
- return \"prefetcht0\\t%0\";
+ return \"prefetchnta\\t%a0\";
case 1:
- return \"prefetcht1\\t%0\";
+ return \"prefetcht0\\t%a0\";
case 2:
- return \"prefetcht2\\t%0\";
+ return \"prefetcht1\\t%a0\";
case 3:
- return \"prefetchnta\\t%0\";
+ return \"prefetcht2\\t%a0\";
default:
abort ();
}