diff options
Diffstat (limited to 'gcc/config/a29k/a29k.md')
-rw-r--r-- | gcc/config/a29k/a29k.md | 129 |
1 files changed, 64 insertions, 65 deletions
diff --git a/gcc/config/a29k/a29k.md b/gcc/config/a29k/a29k.md index cc4f422b0f2..aa82c6c5ca7 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, 1999 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" |