aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/a29k/a29k.md
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/a29k/a29k.md')
-rw-r--r--gcc/config/a29k/a29k.md129
1 files changed, 64 insertions, 65 deletions
diff --git a/gcc/config/a29k/a29k.md b/gcc/config/a29k/a29k.md
index cc4f422b0f2..91e5f34be05 100644
--- a/gcc/config/a29k/a29k.md
+++ b/gcc/config/a29k/a29k.md
@@ -1,5 +1,5 @@
;;- Machine description for AMD Am29000 for GNU C compiler
-;; Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
+;; Copyright (C) 1991, 1992, 1994, 1998 Free Software Foundation, Inc.
;; Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu)
;; This file is part of GNU CC.
@@ -145,8 +145,8 @@
later be inlined into another function. */
if (! TARGET_SMALL_MEMORY
&& GET_CODE (XEXP (operands[0], 0)) == SYMBOL_REF)
- operands[0] = gen_rtx (MEM, SImode,
- force_reg (Pmode, XEXP (operands[0], 0)));
+ operands[0] = gen_rtx_MEM (SImode,
+ force_reg (Pmode, XEXP (operands[0], 0)));
}")
(define_expand "call_value"
@@ -178,9 +178,8 @@
later be inlined into another function. */
if (! TARGET_SMALL_MEMORY
&& GET_CODE (XEXP (operands[1], 0)) == SYMBOL_REF)
- operands[1] = gen_rtx (MEM, SImode,
- force_reg (Pmode, XEXP (operands[1], 0)));
-
+ operands[1] = gen_rtx_MEM (SImode,
+ force_reg (Pmode, XEXP (operands[1], 0)));
}")
(define_insn ""
@@ -644,9 +643,9 @@
if (size != 8 || (pos != 8 && pos != 16))
FAIL;
- operands[3] = gen_rtx (ASHIFT, PSImode,
- force_reg (PSImode, GEN_INT (pos / 8)),
- GEN_INT (3));
+ operands[3] = gen_rtx_ASHIFT (PSImode,
+ force_reg (PSImode, GEN_INT (pos / 8)),
+ GEN_INT (3));
}")
@@ -967,9 +966,9 @@
if ((size != 8 && size != 16) || pos % size != 0)
FAIL;
- operands[2] = gen_rtx (ASHIFT, PSImode,
- force_reg (PSImode, GEN_INT (pos / 8)),
- GEN_INT (3));
+ operands[2] = gen_rtx_ASHIFT (PSImode,
+ force_reg (PSImode, GEN_INT (pos / 8)),
+ GEN_INT (3));
}")
;; LOAD (also used by move insn).
@@ -1056,20 +1055,20 @@
/* CR gets set to the number of registers minus one. */
operands[2] = GEN_INT(count - 1);
- operands[3] = gen_rtx (PARALLEL, VOIDmode, rtvec_alloc (count + 2));
+ operands[3] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (count + 2));
from = memory_address (SImode, XEXP (operands[1], 0));
- XVECEXP (operands[3], 0, 0) = gen_rtx (SET, VOIDmode,
- gen_rtx (REG, SImode, regno),
- gen_rtx (MEM, SImode, from));
+ XVECEXP (operands[3], 0, 0) = gen_rtx_SET (VOIDmode,
+ gen_rtx_REG (SImode, regno),
+ gen_rtx_MEM (SImode, from));
operands[4] = gen_reg_rtx (PSImode);
- XVECEXP (operands[3], 0, 1) = gen_rtx (USE, VOIDmode, operands[4]);
- XVECEXP (operands[3], 0, 2) = gen_rtx (CLOBBER, VOIDmode, operands[4]);
+ XVECEXP (operands[3], 0, 1) = gen_rtx_USE (VOIDmode, operands[4]);
+ XVECEXP (operands[3], 0, 2) = gen_rtx_CLOBBER (VOIDmode, operands[4]);
for (i = 1; i < count; i++)
XVECEXP (operands[3], 0, i + 2)
- = gen_rtx (SET, VOIDmode, gen_rtx (REG, SImode, regno + i),
- gen_rtx (MEM, SImode, plus_constant (from, i * 4)));
+ = gen_rtx_SET (VOIDmode, gen_rtx (REG, SImode, regno + i),
+ gen_rtx_MEM (SImode, plus_constant (from, i * 4)));
}")
;; Indicate that CR is used and is then clobbered.
@@ -1378,20 +1377,20 @@
/* CR gets set to the number of registers minus one. */
operands[2] = GEN_INT(count - 1);
- operands[3] = gen_rtx (PARALLEL, VOIDmode, rtvec_alloc (count + 2));
+ operands[3] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (count + 2));
from = memory_address (SImode, XEXP (operands[0], 0));
- XVECEXP (operands[3], 0, 0) = gen_rtx (SET, VOIDmode,
- gen_rtx (MEM, SImode, from),
- gen_rtx (REG, SImode, regno));
+ XVECEXP (operands[3], 0, 0) = gen_rtx_SET (VOIDmode,
+ gen_rtx_MEM (SImode, from),
+ gen_rtx_REG (SImode, regno));
operands[4] = gen_reg_rtx (PSImode);
- XVECEXP (operands[3], 0, 1) = gen_rtx (USE, VOIDmode, operands[4]);
- XVECEXP (operands[3], 0, 2) = gen_rtx (CLOBBER, VOIDmode, operands[4]);
+ XVECEXP (operands[3], 0, 1) = gen_rtx_USE (VOIDmode, operands[4]);
+ XVECEXP (operands[3], 0, 2) = gen_rtx_CLOBBER (VOIDmode, operands[4]);
for (i = 1; i < count; i++)
XVECEXP (operands[3], 0, i + 2)
- = gen_rtx (SET, VOIDmode,
- gen_rtx (MEM, SImode, plus_constant (from, i * 4)),
- gen_rtx (REG, SImode, regno + i));
+ = gen_rtx_SET (VOIDmode,
+ gen_rtx_MEM (SImode, plus_constant (from, i * 4)),
+ gen_rtx_REG (SImode, regno + i));
}")
(define_expand "store_multiple_bug"
@@ -1417,19 +1416,19 @@
count = INTVAL (operands[2]);
regno = REGNO (operands[1]);
- operands[3] = gen_rtx (PARALLEL, VOIDmode, rtvec_alloc (count + 1));
+ operands[3] = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (count + 1));
from = memory_address (SImode, XEXP (operands[0], 0));
- XVECEXP (operands[3], 0, 0) = gen_rtx (SET, VOIDmode,
- gen_rtx (MEM, SImode, from),
- gen_rtx (REG, SImode, regno));
+ XVECEXP (operands[3], 0, 0) = gen_rtx_SET (VOIDmode,
+ gen_rtx_MEM (SImode, from),
+ gen_rtx_REG (SImode, regno));
XVECEXP (operands[3], 0, 1)
- = gen_rtx (CLOBBER, VOIDmode, gen_rtx (SCRATCH, PSImode));
+ = gen_rtx_CLOBBER (VOIDmode, gen_rtx_SCRATCH (PSImode));
for (i = 1; i < count; i++)
XVECEXP (operands[3], 0, i + 1)
- = gen_rtx (SET, VOIDmode,
- gen_rtx (MEM, SImode, plus_constant (from, i * 4)),
- gen_rtx (REG, SImode, regno + i));
+ = gen_rtx_SET (VOIDmode,
+ gen_rtx_MEM (SImode, plus_constant (from, i * 4)),
+ gen_rtx_REG (SImode, regno + i));
}")
(define_insn ""
@@ -1811,7 +1810,7 @@
"
{ rtx seq = gen_loadhi (gen_lowpart (SImode, operands[0]),
a29k_get_reloaded_address (operands[1]),
- gen_rtx (REG, SImode, R_TAV),
+ gen_rtx_REG (SImode, R_TAV),
operands[2]);
a29k_set_memflags (seq, operands[1]);
@@ -1828,7 +1827,7 @@
{ rtx (*fcn) () = TARGET_BYTE_WRITES ? gen_storehihww : gen_storehinhww;
rtx seq = (*fcn) (a29k_get_reloaded_address (operands[0]),
gen_lowpart (SImode, operands[1]),
- gen_rtx (REG, SImode, R_TAV), operands[2]);
+ gen_rtx_REG (SImode, R_TAV), operands[2]);
a29k_set_memflags (seq, operands[0]);
emit_insn (seq);
@@ -1941,7 +1940,7 @@
"
{ rtx seq = gen_loadqi (gen_lowpart (SImode, operands[0]),
a29k_get_reloaded_address (operands[1]),
- gen_rtx (REG, SImode, R_TAV),
+ gen_rtx_REG (SImode, R_TAV),
operands[2]);
a29k_set_memflags (seq, operands[1]);
@@ -1958,7 +1957,7 @@
{ rtx (*fcn) () = TARGET_BYTE_WRITES ? gen_storeqihww : gen_storeqinhww;
rtx seq = (*fcn) (a29k_get_reloaded_address (operands[0]),
gen_lowpart (SImode, operands[1]),
- gen_rtx (REG, SImode, R_TAV), operands[2]);
+ gen_rtx_REG (SImode, R_TAV), operands[2]);
a29k_set_memflags (seq, operands[0]);
emit_insn (seq);
@@ -2173,25 +2172,25 @@
if (REGNO (operands[0]) >= REGNO (operands[1]) + 1
&& REGNO (operands[0]) <= REGNO (operands[1]) + 3)
{
- operands[3] = gen_rtx (REG, SImode, REGNO (operands[0]) + 3);
- operands[4] = gen_rtx (REG, SImode, REGNO (operands[1]) + 3);
- operands[5] = gen_rtx (REG, SImode, REGNO (operands[0]) + 2);
- operands[6] = gen_rtx (REG, SImode, REGNO (operands[1]) + 2);
- operands[7] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1);
- operands[8] = gen_rtx (REG, SImode, REGNO (operands[1]) + 1);
- operands[9] = gen_rtx (REG, SImode, REGNO (operands[0]));
- operands[10] = gen_rtx (REG, SImode, REGNO (operands[1]));
+ operands[3] = gen_rtx_REG (SImode, REGNO (operands[0]) + 3);
+ operands[4] = gen_rtx_REG (SImode, REGNO (operands[1]) + 3);
+ operands[5] = gen_rtx_REG (SImode, REGNO (operands[0]) + 2);
+ operands[6] = gen_rtx_REG (SImode, REGNO (operands[1]) + 2);
+ operands[7] = gen_rtx_REG (SImode, REGNO (operands[0]) + 1);
+ operands[8] = gen_rtx_REG (SImode, REGNO (operands[1]) + 1);
+ operands[9] = gen_rtx_REG (SImode, REGNO (operands[0]));
+ operands[10] = gen_rtx_REG (SImode, REGNO (operands[1]));
}
else
{
- operands[3] = gen_rtx (REG, SImode, REGNO (operands[0]));
- operands[4] = gen_rtx (REG, SImode, REGNO (operands[1]));
- operands[5] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1);
- operands[6] = gen_rtx (REG, SImode, REGNO (operands[1]) + 1);
- operands[7] = gen_rtx (REG, SImode, REGNO (operands[0]) + 2);
- operands[8] = gen_rtx (REG, SImode, REGNO (operands[1]) + 2);
- operands[9] = gen_rtx (REG, SImode, REGNO (operands[0]) + 3);
- operands[10] = gen_rtx (REG, SImode, REGNO (operands[1]) + 3);
+ operands[3] = gen_rtx_REG (SImode, REGNO (operands[0]));
+ operands[4] = gen_rtx_REG (SImode, REGNO (operands[1]));
+ operands[5] = gen_rtx_REG (SImode, REGNO (operands[0]) + 1);
+ operands[6] = gen_rtx_REG (SImode, REGNO (operands[1]) + 1);
+ operands[7] = gen_rtx_REG (SImode, REGNO (operands[0]) + 2);
+ operands[8] = gen_rtx_REG (SImode, REGNO (operands[1]) + 2);
+ operands[9] = gen_rtx_REG (SImode, REGNO (operands[0]) + 3);
+ operands[10] = gen_rtx_REG (SImode, REGNO (operands[1]) + 3);
}
}")
@@ -2553,9 +2552,9 @@
{
operands[1] = gen_reg_rtx (SImode);
if (a29k_compare_fp_p)
- operands[2] = gen_rtx (GT, SImode, a29k_compare_op1, a29k_compare_op0);
+ operands[2] = gen_rtx_GT (SImode, a29k_compare_op1, a29k_compare_op0);
else
- operands[2] = gen_rtx (LT, SImode, a29k_compare_op0, a29k_compare_op1);
+ operands[2] = gen_rtx_LT (SImode, a29k_compare_op0, a29k_compare_op1);
}")
;; Similarly for "le".
@@ -2570,9 +2569,9 @@
{
operands[1] = gen_reg_rtx (SImode);
if (a29k_compare_fp_p)
- operands[2] = gen_rtx (GE, SImode, a29k_compare_op1, a29k_compare_op0);
+ operands[2] = gen_rtx_GE (SImode, a29k_compare_op1, a29k_compare_op0);
else
- operands[2] = gen_rtx (LE, SImode, a29k_compare_op0, a29k_compare_op1);
+ operands[2] = gen_rtx_LE (SImode, a29k_compare_op0, a29k_compare_op1);
}")
(define_expand "bltu"
@@ -2708,9 +2707,9 @@
"
{
if (a29k_compare_fp_p)
- operands[1] = gen_rtx (GT, SImode, a29k_compare_op1, a29k_compare_op0);
+ operands[1] = gen_rtx_GT (SImode, a29k_compare_op1, a29k_compare_op0);
else
- operands[1] = gen_rtx (LT, SImode, a29k_compare_op0, a29k_compare_op1);
+ operands[1] = gen_rtx_LT (SImode, a29k_compare_op0, a29k_compare_op1);
}")
;; Similarly for "le"
@@ -2721,9 +2720,9 @@
"
{
if (a29k_compare_fp_p)
- operands[1] = gen_rtx (GE, SImode, a29k_compare_op1, a29k_compare_op0);
+ operands[1] = gen_rtx_GE (SImode, a29k_compare_op1, a29k_compare_op0);
else
- operands[1] = gen_rtx (LE, SImode, a29k_compare_op0, a29k_compare_op1);
+ operands[1] = gen_rtx_LE (SImode, a29k_compare_op0, a29k_compare_op1);
}")
(define_expand "sltu"