This is the mail archive of the gcc@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]

A patch for alias.c


Hi,

Here is a patch and a testcase for alias.c. It seems to fix the Linux
kernel compilation.

Thanks.


-- 
H.J. Lu (hjl@gnu.org)
----
int check_pcibios(void)
{
	unsigned int signature, eax, ebx, ecx;
	unsigned long flags, pcibios_entry;
	__asm__ ("lcall (%%edi)\n\t"
		"jc 1f\n\t"
		"xor %%ah, %%ah\n"
		"1:"
		: "=d" (signature),
		  "=a" (eax),
		  "=b" (ebx),
		  "=c" (ecx)
		: "1" (0xb101 ),
		  "D" (&pcibios_entry)
		: "memory");
	__asm__ __volatile__("pushl %0 ; popfl":   :"g" (  flags  ):"memory")  ;
	if (signature)
		return 1;
	return 0;
}
----
Thu May 21 17:34:19 1998  H.J. Lu  (hjl@gnu.org)

	* alias.c (rtx_equal_for_memref_p): Return 0 if code == SCRATCH.

Index: alias.c
===================================================================
RCS file: /home/work/cvs/gnu/egcs/gcc/alias.c,v
retrieving revision 1.1.1.17
diff -u -p -r1.1.1.17 alias.c
--- alias.c	1998/05/18 13:28:17	1.1.1.17
+++ alias.c	1998/05/22 00:06:50
@@ -422,6 +423,8 @@ rtx_equal_for_memref_p (x, y)
     return INTVAL (x) == INTVAL (y);
   if (code == ADDRESSOF)
     return REGNO (XEXP (x, 0)) == REGNO (XEXP (y, 0)) && XINT (x, 1) == XINT (y, 1);
+  if (code == SCRATCH)
+    return 0;
 
   /* For commutative operations, the RTX match if the operand match in any
      order.  Also handle the simple binary and unary cases without a loop.  */


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