This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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;
}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]