summaryrefslogtreecommitdiff
path: root/gcc/config/i370
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-01 05:20:26 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1998-04-01 05:20:26 +0000
commitcc51d4989fbd3a1ea3629acf0754c810134263f9 (patch)
tree84f0e70b65ebdc968e5fa3ba0c8eac667a10255b /gcc/config/i370
parent7a1f3a7953f5e6ad6df7c262d39348c9599619fc (diff)
downloadgcc-cc51d4989fbd3a1ea3629acf0754c810134263f9.tar.gz
* 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
* convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise. * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise. * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise. * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise. * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise. * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise. * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise. * md.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18927 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i370')
-rw-r--r--gcc/config/i370/i370.h13
-rw-r--r--gcc/config/i370/i370.md69
2 files changed, 38 insertions, 44 deletions
diff --git a/gcc/config/i370/i370.h b/gcc/config/i370/i370.h
index 8f7658f7cb9..b0664d75304 100644
--- a/gcc/config/i370/i370.h
+++ b/gcc/config/i370/i370.h
@@ -575,13 +575,12 @@ enum reg_class
#define TRAMPOLINE_TEMPLATE(FILE) \
{ \
- ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x05E0)); \
- ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x5800 | \
- STATIC_CHAIN_REGNUM << 4)); \
- ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0xE00A)); \
- ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x58F0)); \
- ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0xE00E)); \
- ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x07FF)); \
+ ASM_OUTPUT_SHORT (FILE, GEN_INT (0x05E0)); \
+ ASM_OUTPUT_SHORT (FILE, GEN_INT (0x5800 STATIC_CHAIN_REGNUM << 4)); \
+ ASM_OUTPUT_SHORT (FILE, GEN_INT (0xE00A)); \
+ ASM_OUTPUT_SHORT (FILE, GEN_INT (0x58F0)); \
+ ASM_OUTPUT_SHORT (FILE, GEN_INT (0xE00E)); \
+ ASM_OUTPUT_SHORT (FILE, GEN_INT (0x07FF)); \
ASM_OUTPUT_SHORT (FILE, const0_rtx); \
ASM_OUTPUT_SHORT (FILE, const0_rtx); \
ASM_OUTPUT_SHORT (FILE, const0_rtx); \
diff --git a/gcc/config/i370/i370.md b/gcc/config/i370/i370.md
index e12d2f62026..6d893d64388 100644
--- a/gcc/config/i370/i370.md
+++ b/gcc/config/i370/i370.md
@@ -1,5 +1,5 @@
;;- Machine description for GNU compiler -- System/370 version.
-;; Copyright (C) 1989, 1993, 1994, 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1989, 93, 94, 95, 1997 Free Software Foundation, Inc.
;; Contributed by Jan Stein (jan@cd.chalmers.se).
;; Modified for MVS C/370 by Dave Pitts (dpitts@nyx.cs.du.edu)
@@ -1210,36 +1210,30 @@ check_label_emit ();
op0 = XEXP (operands[0], 0);
if (GET_CODE (op0) == REG
- || (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 0)) == REG
- && GET_CODE (XEXP (op0, 1)) == CONST_INT
- && (unsigned) INTVAL (XEXP (op0, 1)) < 4096))
- {
- op0 = operands[0];
- }
+ || (GET_CODE (op0) == PLUS && GET_CODE (XEXP (op0, 0)) == REG
+ && GET_CODE (XEXP (op0, 1)) == CONST_INT
+ && (unsigned) INTVAL (XEXP (op0, 1)) < 4096))
+ op0 = operands[0];
else
- {
- op0 = gen_rtx (MEM, BLKmode, copy_to_mode_reg (SImode, op0));
- }
+ op0 = change_address (operands[0], VOIDmode,
+ copy_to_mode_reg (SImode, op0));
op1 = XEXP (operands[1], 0);
if (GET_CODE (op1) == REG
|| (GET_CODE (op1) == PLUS && GET_CODE (XEXP (op1, 0)) == REG
&& GET_CODE (XEXP (op1, 1)) == CONST_INT
&& (unsigned) INTVAL (XEXP (op1, 1)) < 4096))
- {
- op1 = operands[1];
- }
+ op1 = operands[1];
else
- {
- op1 = gen_rtx (MEM, BLKmode, copy_to_mode_reg (SImode, op1));
- }
+ op1 = change_address (operands[1], VOIDmode,
+ copy_to_mode_reg (SImode, op1));
if (GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) < 256)
- {
- emit_insn (gen_rtx (PARALLEL, VOIDmode, gen_rtvec (2,
- gen_rtx (SET, VOIDmode, op0, op1),
- gen_rtx (USE, VOIDmode, operands[2]))));
- }
+ emit_insn (gen_rtx (PARALLEL, VOIDmode,
+ gen_rtvec (2,
+ gen_rtx (SET, VOIDmode, op0, op1),
+ gen_rtx (USE, VOIDmode, operands[2]))));
+
else
{
rtx reg1 = gen_reg_rtx (DImode);
@@ -1248,13 +1242,14 @@ check_label_emit ();
emit_insn (gen_rtx (SET, VOIDmode, subreg, operands[2]));
emit_insn (gen_rtx (SET, VOIDmode, gen_rtx (SUBREG, SImode, reg2, 1),
- subreg));
- emit_insn (gen_rtx (PARALLEL, VOIDmode, gen_rtvec (5,
- gen_rtx (SET, VOIDmode, op0, op1),
- gen_rtx (USE, VOIDmode, reg1),
- gen_rtx (USE, VOIDmode, reg2),
- gen_rtx (CLOBBER, VOIDmode, reg1),
- gen_rtx (CLOBBER, VOIDmode, reg2))));
+ subreg));
+ emit_insn (gen_rtx (PARALLEL, VOIDmode,
+ gen_rtvec (5,
+ gen_rtx (SET, VOIDmode, op0, op1),
+ gen_rtx (USE, VOIDmode, reg1),
+ gen_rtx (USE, VOIDmode, reg2),
+ gen_rtx (CLOBBER, VOIDmode, reg1),
+ gen_rtx (CLOBBER, VOIDmode, reg2))));
}
DONE;
}")
@@ -1310,7 +1305,7 @@ check_label_emit ();
operand_subword (operands[0], 0, 1, DImode), operands[1]));
emit_insn (gen_rtx (SET, VOIDmode, operands[0],
gen_rtx (ASHIFTRT, DImode, operands[0],
- gen_rtx (CONST_INT, SImode, 32))));
+ GEN_INT (32))));
}
else
{
@@ -1318,13 +1313,13 @@ check_label_emit ();
{
emit_insn (gen_rtx (SET, VOIDmode,
operand_subword (operands[0], 0, 1, DImode),
- gen_rtx (CONST_INT, SImode, -1)));
+ GEN_INT (-1)));
}
else
{
emit_insn (gen_rtx (SET, VOIDmode,
operand_subword (operands[0], 0, 1, DImode),
- gen_rtx (CONST_INT, SImode, 0)));
+ GEN_INT (0)));
}
emit_insn (gen_rtx (SET, VOIDmode, gen_lowpart (SImode, operands[0]),
operands[1]));
@@ -1443,7 +1438,7 @@ check_label_emit ();
operand_subword (operands[0], 0, 1, DImode), operands[1]));
emit_insn (gen_rtx (SET, VOIDmode, operands[0],
gen_rtx (LSHIFTRT, DImode, operands[0],
- gen_rtx (CONST_INT, SImode, 32))));
+ GEN_INT (32))));
DONE;
}")
@@ -1649,7 +1644,7 @@ check_label_emit ();
gen_rtx (USE, VOIDmode, gen_rtx (LABEL_REF, VOIDmode, label)))));
emit_insn (gen_rtx (SET, VOIDmode, op0_high,
gen_rtx (PLUS, SImode, op0_high,
- gen_rtx (CONST_INT, SImode, 1))));
+ GEN_INT (1))));
emit_label (label);
DONE;
}")
@@ -1891,7 +1886,7 @@ check_label_emit ();
gen_rtx (LABEL_REF, VOIDmode, label)))));
emit_insn (gen_rtx (SET, VOIDmode, op0_high,
gen_rtx (MINUS, SImode, op0_high,
- gen_rtx (CONST_INT, SImode, 1))));
+ GEN_INT (1))));
emit_label (label);
DONE;
}")
@@ -2266,7 +2261,7 @@ check_label_emit ();
emit_jump_insn (gen_beq (label1));
emit_insn (gen_rtx (SET, VOIDmode, dr,
gen_rtx (LSHIFTRT, DImode, dr,
- gen_rtx (CONST_INT, SImode, 32))));
+ GEN_INT (32))));
emit_insn (gen_rtx (SET, VOIDmode, dr,
gen_rtx (DIV, SImode, dr, sr)));
emit_jump_insn (gen_jump (label3));
@@ -2391,7 +2386,7 @@ check_label_emit ();
{
emit_insn (gen_rtx (SET, VOIDmode, dr,
gen_rtx (LSHIFTRT, DImode, dr,
- gen_rtx (CONST_INT, SImode, 32))));
+ GEN_INT (32))));
emit_insn (gen_rtx (SET, VOIDmode, dr,
gen_rtx (MOD, SImode, dr, operands[2])));
}
@@ -2425,7 +2420,7 @@ check_label_emit ();
emit_jump_insn (gen_beq (label1));
emit_insn (gen_rtx (SET, VOIDmode, dr,
gen_rtx (LSHIFTRT, DImode, dr,
- gen_rtx (CONST_INT, SImode, 32))));
+ GEN_INT (32))));
emit_insn (gen_rtx (SET, VOIDmode, dr, gen_rtx (MOD, SImode, dr, sr)));
emit_jump_insn (gen_jump (label3));
emit_label (label1);