This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: c/7038: internal compiler error: Internal compiler error in insn_default_length, at insn-attrtab.c:539
- From: Jan Hubicka <jh at suse dot cz>
- To: Jan Hubicka <jh at suse dot cz>
- Cc: hubicka at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Sun, 16 Jun 2002 22:40:00 +0200
- Subject: Re: c/7038: internal compiler error: Internal compiler error in insn_default_length, at insn-attrtab.c:539
- References: <20020616195601.11185.qmail@sources.redhat.com>
> The following reply was made to PR c/7038; it has been noted by GNATS.
>
> From: Jan Hubicka <jh@suse.cz>
> To: rth@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
> hubicka@gcc.gnu.org, nobody@gcc.gnu.org, spigel@olvs.miee.ru,
> gcc-gnats@gcc.gnu.org
> Cc:
> Subject: Re: c/7038: internal compiler error: Internal compiler error in insn_default_length, at insn-attrtab.c:539
> Date: Sun, 16 Jun 2002 21:53:01 +0200
>
> > Synopsis: internal compiler error: Internal compiler error in insn_default_length, at insn-attrtab.c:539
> >
> > Responsible-Changed-From-To: unassigned->hubicka
> > Responsible-Changed-By: rth
> > Responsible-Changed-When: Sun Jun 16 12:48:55 2002
> > Responsible-Changed-Why:
> > Your 2002-06-12 patch added these patterns.
>
> I am having patch fixing this in queue, I will send it soon.
Sun Jun 16 22:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
* i386.md (xorqi_1_slip, xorqi_2_slp): New patterns.
Index: i386.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.md,v
retrieving revision 1.374
diff -c -3 -p -r1.374 i386.md
*** i386.md 13 Jun 2002 12:27:50 -0000 1.374
--- i386.md 16 Jun 2002 20:34:01 -0000
***************
*** 8830,8835 ****
--- 8830,8845 ----
[(set_attr "type" "alu")
(set_attr "mode" "QI,QI,SI")])
+ (define_insn "*xorqi_1_slp"
+ [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+qm,q"))
+ (xor:QI (match_dup 0)
+ (match_operand:QI 1 "general_operand" "qi,qmi")))
+ (clobber (reg:CC 17))]
+ "! TARGET_PARTIAL_REG_STALL || optimize_size"
+ "xor{b}\t{%1, %0|%0, %1}"
+ [(set_attr "type" "alu1")
+ (set_attr "mode" "QI")])
+
(define_insn "xorqi_ext_0"
[(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q")
(const_int 8)
***************
*** 8915,8920 ****
--- 8925,8943 ----
&& ix86_binary_operator_ok (XOR, QImode, operands)"
"xor{b}\t{%2, %0|%0, %2}"
[(set_attr "type" "alu")
+ (set_attr "mode" "QI")])
+
+ (define_insn "*xorqi_2_slp"
+ [(set (reg 17)
+ (compare (xor:QI (match_operand:QI 0 "nonimmediate_operand" "+q,qm")
+ (match_operand:QI 1 "general_operand" "qim,qi"))
+ (const_int 0)))
+ (set (strict_low_part (match_dup 0))
+ (xor:QI (match_dup 0) (match_dup 1)))]
+ "(! TARGET_PARTIAL_REG_STALL || optimize_size)
+ && ix86_match_ccmode (insn, CCNOmode)"
+ "xor{b}\t{%1, %0|%0, %1}"
+ [(set_attr "type" "alu1")
(set_attr "mode" "QI")])
(define_insn "*xorqi_cc_2"