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 bootstrap failure on K6


Hi,

Bootstrap aborts on mainline in libjava with a segfault:

Program received signal SIGSEGV, Segmentation fault.
general_operand (op=0x0, mode=QImode) at ../../gcc/recog.c:894
894       enum rtx_code code = GET_CODE (op);
(gdb) bt
#0  general_operand (op=0x0, mode=QImode) at ../../gcc/recog.c:894
#1  0x08234111 in function_units_used (insn=0x2) at insn-attrtab.c:23034


We use match_operand in a define_function_unit without going through an 
attribute. I could have defined a custom one to correct the problem but I 
think that the 'mode' attribute is good enough.


2003-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>

	* config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
	match_operand.

-- 
Eric Botcazou
Index: config/i386/k6.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/i386/k6.md,v
retrieving revision 1.5
diff -u -r1.5 k6.md
--- config/i386/k6.md	26 Sep 2003 03:46:06 -0000	1.5
+++ config/i386/k6.md	17 Oct 2003 08:00:02 -0000
@@ -49,7 +49,7 @@
 (define_function_unit "k6_alux" 1 0
   (and (eq_attr "cpu" "k6")
        (and (eq_attr "type" "alu,alu1,negnot,icmp,test,imovx,incdec")
-	    (match_operand:QI 0 "general_operand" "")))
+	    (eq_attr "mode" "QI")))
   1 1)
 
 (define_function_unit "k6_alu" 2 0

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