diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 71f0931efbb..be756206c41 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2015-12-06 Kaz Kojima + + * config/sh/sh.md (rsqrtsf2): Adjust for canonical form with unspec. + 2015-12-06 Victoria Stepanyan * common/config/i386/i386-common.c diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 083febe5954..b6fe05c0edb 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -13744,12 +13744,11 @@ label: (define_insn "rsqrtsf2" [(set (match_operand:SF 0 "fp_arith_reg_operand" "=f") - (div:SF (match_operand:SF 1 "immediate_operand" "i") - (sqrt:SF (match_operand:SF 2 "fp_arith_reg_operand" "0")))) + (unspec:SF [(match_operand:SF 1 "fp_arith_reg_operand" "0")] + UNSPEC_FSRRA)) (clobber (reg:SI FPSCR_STAT_REG)) (use (reg:SI FPSCR_MODES_REG))] - "TARGET_FPU_ANY && TARGET_FSRRA - && operands[1] == CONST1_RTX (SFmode)" + "TARGET_FPU_ANY && TARGET_FSRRA" "fsrra %0" [(set_attr "type" "fsrra") (set_attr "fp_mode" "single")])