This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix PR c/10083 (umul_highpart on Alpha)
- From: Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: 23 Mar 2003 19:59:37 +0100
- Subject: [PATCH] Fix PR c/10083 (umul_highpart on Alpha)
Hi,
this fixes PR c/10083. I'm not sure the fix is entirely correct, but
at least it is certainly the correct place for a fix :)
Falk
2003-03-23 Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
PR c/10083
* config/alpha/alpha.md (umuldi3_highpart): Fix predicate.
2003-03-23 Falk Hueffner <falk dot hueffner at student dot uni-tuebingen dot de>
* gcc.c-torture/compile/20030323-1.c: New test.
--
Falk
Index: alpha.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/alpha/alpha.md,v
retrieving revision 1.205
diff -u -r1.205 alpha.md
--- alpha.md 6 Mar 2003 00:32:29 -0000 1.205
+++ alpha.md 23 Mar 2003 18:46:46 -0000
@@ -757,7 +757,7 @@
(mult:TI (zero_extend:TI
(match_operand:DI 1 "reg_or_0_operand" "%rJ"))
(zero_extend:TI
- (match_operand:DI 2 "reg_or_8bit_operand" "rI")))
+ (match_operand:DI 2 "register_operand" "r")))
(const_int 64))))]
""
"umulh %r1,%2,%0"
/* PR c/10083 */
/* This will result in a very small constant for umul_highpart, which
uncovered a bug in the Alpha machine description. */
unsigned long f(unsigned long x) {
return x % 0x3fffffffffffffff;
}