This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
A patch for alias.c
- To: jfc at mit dot edu
- Subject: A patch for alias.c
- From: hjl at lucon dot org (H.J. Lu)
- Date: Thu, 21 May 1998 17:35:52 -0700 (PDT)
- Cc: egcs at cygnus dot com, jinbo21 at soback dot kornet dot nm dot kr
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. */