diff --git a/external/gpl3/gcc/dist/gcc/config/vax/builtins.md b/external/gpl3/gcc/dist/gcc/config/vax/builtins.md index 62c0eb3be6da..469145b7c851 100644 --- a/external/gpl3/gcc/dist/gcc/config/vax/builtins.md +++ b/external/gpl3/gcc/dist/gcc/config/vax/builtins.md @@ -37,17 +37,17 @@ " { rtx label = gen_label_rtx (); - emit_insn (gen_ffssi2_internal (operands[0], operands[1])); + emit_insn (gen_ctzsi2 (operands[0], operands[1])); emit_jump_insn (gen_condjump (gen_rtx_NE(VOIDmode, cc0_rtx, const0_rtx), label)); - emit_insn (gen_negsi2 (operands[0], const1_rtx)); + emit_move_insn (operands[0], constm1_rtx); emit_label (label); emit_insn (gen_addsi3 (operands[0], operands[0], const1_rtx)); DONE; }") -(define_insn "ffssi2_internal" +(define_insn "ctzsi2" [(set (match_operand:SI 0 "nonimmediate_operand" "=rQ") - (ffs:SI (match_operand:SI 1 "general_operand" "nrmT"))) + (ctz:SI (match_operand:SI 1 "general_operand" "nrmT"))) (set (cc0) (match_dup 0))] "" "ffs $0,$32,%1,%0") diff --git a/external/gpl3/gcc/dist/gcc/config/vax/vax.c b/external/gpl3/gcc/dist/gcc/config/vax/vax.c index 3ec5267704d8..0e6758fff7a0 100644 --- a/external/gpl3/gcc/dist/gcc/config/vax/vax.c +++ b/external/gpl3/gcc/dist/gcc/config/vax/vax.c @@ -1117,6 +1117,7 @@ vax_notice_update_cc (rtx exp, rtx insn ATTRIBUTE_UNUSED) case IOR: case XOR: case NOT: + case CTZ: case MEM: case REG: cc_status.flags = CC_NO_OVERFLOW;