Hello, We are building GCC for the Mips Simulator "SPIM". We have previously built the same for GCC 4.6.2, and are now trying to build it for 4.7.2. We are experiencing an issue related to the cbranchsi4 in GCC 4.7.2, machine description wherein, GCC is compiled correctly and cc1 is generated. But while compiling an external C program having conditional statements using cc1, the compilation goes in an infinite loop. We were able to rectify this infinite loop by removing an SI from the instruction for the first match operator clause. But we are not sure as to why this fix is required with respect to the different GCC versions 4.6.2 and 4.7.2. --------------------------------------------------------------- GCC 4.6.2 MD: -------------------------- (define_insn "cbranchsi4" [(set (pc) (if_then_else (match_operator:SI 0 "comparison_operator" [(match_operand:SI 1 "register_operand" "") (match_operand:SI 2 "register_operand" "")]) (label_ref (match_operand 3 "" "")) (pc)))] "" "* return conditional_insn(GET_CODE(operands[0]),operands,0); " ) -------------------------------------------------------------- GCC 4.7.2 MD: --------------------------- (define_insn "cbranchsi4" [(set (pc) (if_then_else (match_operator 0 "comparison_operator" [(match_operand:SI 1 "register_operand" "") (match_operand:SI 2 "register_operand" "")]) (label_ref (match_operand 3 "" "")) (pc)))] "" "* return conditional_insn(GET_CODE(operands[0]),operands,0); " ) Thank You, --------------------------------- Aniket Deole aniket.deole@xxxxxxxxx