This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] Some small alpha.md fixes
- From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: 13 Oct 2002 04:25:57 +0200
- Subject: [patch] Some small alpha.md fixes
Hi,
The point of the zero extension argument reordering is to match the
"sextl" pseudo-op, looks nicer in disassembly. Well, probably not
really important, but the other three fix real bugs.
BTW, I ran make check, and got failures on
gcc.c-torture/compile/20001226-1.c, gcc.c-torture/compile/simd-5.c,
and gcc.dg/noncompile/incomplete-1.c (unrelated to this patch,
though). Should I report this, or does somebody regularly run make
check on Alpha anyway?
--
Falk
2002-10-13 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
* config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
Swap zero extension arguments.
(umaxhi3): Fix instruction class.
PR target/7211
(prefetch): Fix prefetch instructions.
PR target/7238
(pkwb): Fix output constraint.
Index: alpha.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.md,v
retrieving revision 1.198
diff -u -r1.198 alpha.md
--- alpha.md 17 Sep 2002 23:10:02 -0000 1.198
+++ alpha.md 12 Oct 2002 23:50:28 -0000
@@ -171,7 +171,7 @@
(match_operand:SI 1 "nonimmediate_operand" "r,m,*f,m")))]
"! TARGET_FIX"
"@
- addl %1,$31,%0
+ addl $31,%1,%0
ldl %0,%1
cvtlq %1,%0
lds %0,%1\;cvtlq %0,%0"
@@ -184,7 +184,7 @@
(match_operand:SI 1 "nonimmediate_operand" "r,m,*f,*f,m")))]
"TARGET_FIX"
"@
- addl %1,$31,%0
+ addl $31,%1,%0
ldl %0,%1
ftois %1,%0
cvtlq %1,%0
@@ -3222,7 +3222,7 @@
(match_operand:HI 2 "reg_or_8bit_operand" "rI")))]
"TARGET_MAX"
"maxuw4 %r1,%2,%0"
- [(set_attr "type" "shift")])
+ [(set_attr "type" "mvi")])
(define_expand "smaxdi3"
[(set (match_dup 3)
@@ -6934,12 +6934,12 @@
and leave the LRU eviction counter pointing to that block. */
static const char * const alt[2][2] = {
{
- "lds $f31,%a0", /* read, evict next */
+ "ldq $31,%a0", /* read, evict next */
"ldl $31,%a0", /* read, evict last */
},
{
"ldt $f31,%a0", /* write, evict next */
- "ldq $31,%a0", /* write, evict last */
+ "lds $f31,%a0", /* write, evict last */
}
};
@@ -7596,7 +7596,7 @@
})
(define_insn "*pkwb"
- [(set (match_operand:V8QI 0 "register_operand" "")
+ [(set (match_operand:V8QI 0 "register_operand" "=r")
(vec_concat:V8QI
(truncate:V4QI (match_operand:V4HI 1 "register_operand" ""))
(match_operand:V4QI 2 "const0_operand" "")))]