This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix bootstrap failure on K6
- From: Eric Botcazou <ebotcazou at libertysurf dot fr>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 17 Oct 2003 10:12:23 +0200
- Subject: [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