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

[Bug target/34831] ICE on gcc.dg/pr34233.c for MIPS



------- Comment #10 from steven at gcc dot gnu dot org  2008-01-18 17:14 -------
The problem is IMHO in the div<mode>3 define_expand in mips.md:


(define_expand "div<mode>3"
  [(set (match_operand:ANYF 0 "register_operand")
        (div:ANYF (match_operand:ANYF 1 "reg_or_1_operand")
                  (match_operand:ANYF 2 "register_operand")))]
  "<divide_condition>"
{
  if (const_1_operand (operands[1], <MODE>mode))
    if (!(ISA_HAS_FP4 && flag_unsafe_math_optimizations))
      operands[1] = force_reg (<MODE>mode, operands[1]);
})

If SB1 can't handle CONST1_RTX  in operand 1, then the expander shouldn't
generate an insn like that for it.

So either the define_expand is wrong, or there is a mismatch between this and a
define_insn (at least, AFAIU -- not being a MIPS guru and a below-par back-end
hacker ;-)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34831


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