diff options
Diffstat (limited to 'gcc/config/sh/sh.md')
-rw-r--r-- | gcc/config/sh/sh.md | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index f06098bfc1b..7fa634777b3 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -6824,8 +6824,8 @@ label: ;; jump around the unconditional jump because it was out of range. (define_insn "stuff_delay_slot" [(set (pc) - (unspec [(match_operand:SI 0 "const_int_operand" "") (pc)] UNSPEC_BBR)) - (set (reg:SI T_REG) (match_operand:SI 1 "const_int_operand" ""))] + (unspec [(match_operand:SI 0 "const_int_operand" "") (pc) + (match_operand:SI 1 "const_int_operand" "")] UNSPEC_BBR))] "TARGET_SH1" "" [(set_attr "length" "0") @@ -6889,8 +6889,6 @@ label: "TARGET_SHMEDIA" " { - /* hack to generate same code. */ - rtx tmp_di = GET_CODE (operands[0]) == UNORDERED ? NULL : gen_reg_rtx (DImode); rtx tmp = gen_reg_rtx (SImode); rtx cmp; if (GET_CODE (operands[0]) == NE) @@ -6900,13 +6898,12 @@ label: operands[1], operands[2]); emit_insn (gen_cstore4_media (tmp, cmp, operands[1], operands[2])); - if (tmp_di) emit_insn (gen_extendsidi2 (tmp_di, tmp)); else tmp_di = tmp; if (GET_CODE (cmp) == GET_CODE (operands[0])) - operands[0] = gen_rtx_NE (VOIDmode, tmp_di, const0_rtx); + operands[0] = gen_rtx_NE (VOIDmode, tmp, const0_rtx); else - operands[0] = gen_rtx_EQ (VOIDmode, tmp_di, const0_rtx); - operands[1] = tmp_di; + operands[0] = gen_rtx_EQ (VOIDmode, tmp, const0_rtx); + operands[1] = tmp; operands[2] = const0_rtx; operands[3] = gen_rtx_LABEL_REF (Pmode, operands[3]); }") |