aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2000-10-06 18:12:07 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2000-10-06 18:12:07 +0000
commit827bdee40df26e3b67824885c60a775d4c3dbe41 (patch)
tree44d61370ec4c98691b11054450c1d69765d6d4fa
parentc70eaeafa005e95e565806c8c9b30e54c8e8642f (diff)
downloadgcc-827bdee40df26e3b67824885c60a775d4c3dbe41.zip
gcc-827bdee40df26e3b67824885c60a775d4c3dbe41.tar.gz
gcc-827bdee40df26e3b67824885c60a775d4c3dbe41.tar.bz2
sh.md (call, call_value): Use `TARGET_SH2' instead of `! TARGET_SH1'.
* config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of `! TARGET_SH1'. Reindent. From-SVN: r36759
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.md70
2 files changed, 42 insertions, 33 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c98f4d9..ce617b3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-10-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
+ `! TARGET_SH1'. Reindent.
+
2000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* builtins.c (is_valid_printf_arglist, expand_builtin_printf):
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 70510bd..2598356 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -3331,22 +3331,24 @@
(clobber (reg:SI 17))])]
""
"
-if (flag_pic && ! TARGET_SH1 && ! flag_unroll_loops
- && GET_CODE (operands[0]) == MEM
- && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
- {
- rtx reg = gen_reg_rtx (SImode), lab = gen_label_rtx ();
-
- if (SYMBOL_REF_FLAG (XEXP (operands[0], 0)))
- emit_insn (gen_sym_label2reg (reg, XEXP (operands[0], 0), lab));
- else
- emit_insn (gen_symPLT_label2reg (reg, XEXP (operands[0], 0), lab));
- operands[0] = reg;
- emit_call_insn (gen_calli_pcrel (operands[0], operands[1], lab));
- DONE;
- }
-else
- operands[0] = force_reg (SImode, XEXP (operands[0], 0));")
+{
+ if (flag_pic && TARGET_SH2 && ! flag_unroll_loops
+ && GET_CODE (operands[0]) == MEM
+ && GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
+ {
+ rtx reg = gen_reg_rtx (SImode), lab = gen_label_rtx ();
+
+ if (SYMBOL_REF_FLAG (XEXP (operands[0], 0)))
+ emit_insn (gen_sym_label2reg (reg, XEXP (operands[0], 0), lab));
+ else
+ emit_insn (gen_symPLT_label2reg (reg, XEXP (operands[0], 0), lab));
+ operands[0] = reg;
+ emit_call_insn (gen_calli_pcrel (operands[0], operands[1], lab));
+ DONE;
+ }
+ else
+ operands[0] = force_reg (SImode, XEXP (operands[0], 0));
+}")
(define_expand "call_value"
[(parallel [(set (match_operand 0 "arith_reg_operand" "")
@@ -3356,23 +3358,25 @@ else
(clobber (reg:SI 17))])]
""
"
-if (flag_pic && ! TARGET_SH1 && ! flag_unroll_loops
- && GET_CODE (operands[1]) == MEM
- && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
- {
- rtx reg = gen_reg_rtx (SImode), lab = gen_label_rtx ();
-
- if (SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
- emit_insn (gen_sym_label2reg (reg, XEXP (operands[1], 0), lab));
- else
- emit_insn (gen_symPLT_label2reg (reg, XEXP (operands[1], 0), lab));
- operands[1] = reg;
- emit_call_insn (gen_call_valuei_pcrel (operands[0], operands[1],
- operands[2], lab));
- DONE;
- }
-else
- operands[1] = force_reg (SImode, XEXP (operands[1], 0));")
+{
+ if (flag_pic && TARGET_SH2 && ! flag_unroll_loops
+ && GET_CODE (operands[1]) == MEM
+ && GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
+ {
+ rtx reg = gen_reg_rtx (SImode), lab = gen_label_rtx ();
+
+ if (SYMBOL_REF_FLAG (XEXP (operands[1], 0)))
+ emit_insn (gen_sym_label2reg (reg, XEXP (operands[1], 0), lab));
+ else
+ emit_insn (gen_symPLT_label2reg (reg, XEXP (operands[1], 0), lab));
+ operands[1] = reg;
+ emit_call_insn (gen_call_valuei_pcrel (operands[0], operands[1],
+ operands[2], lab));
+ DONE;
+ }
+ else
+ operands[1] = force_reg (SImode, XEXP (operands[1], 0));
+}")
(define_insn "indirect_jump"
[(set (pc)