diff options
Diffstat (limited to 'gcc/config/fx80/fx80.md')
-rw-r--r-- | gcc/config/fx80/fx80.md | 68 |
1 files changed, 28 insertions, 40 deletions
diff --git a/gcc/config/fx80/fx80.md b/gcc/config/fx80/fx80.md index 6862767d764..fff50cd1eb4 100644 --- a/gcc/config/fx80/fx80.md +++ b/gcc/config/fx80/fx80.md @@ -1,5 +1,5 @@ ;;- Machine description for GNU C compiler for Alliant FX systems -;; Copyright (C) 1989, 1994, 1996 Free Software Foundation, Inc. +;; Copyright (C) 1989, 1994, 1996, 1998 Free Software Foundation, Inc. ;; Adapted from m68k.md by Paul Petersen (petersen@uicsrd.csrd.uiuc.edu) ;; and Joe Weening (weening@gang-of-four.stanford.edu). @@ -244,7 +244,7 @@ && (unsigned) INTVAL (operands[1]) < 8" "* { - operands[1] = gen_rtx (CONST_INT, VOIDmode, 7 - INTVAL (operands[1])); + operands[1] = GEN_INT (7 - INTVAL (operands[1])); return output_btst (operands, operands[1], operands[0], insn, 7); }") @@ -260,12 +260,10 @@ { operands[0] = adj_offsettable_operand (operands[0], INTVAL (operands[1]) / 8); - operands[1] = gen_rtx (CONST_INT, VOIDmode, - 7 - INTVAL (operands[1]) % 8); + operands[1] = GEN_INT (7 - INTVAL (operands[1]) % 8); return output_btst (operands, operands[1], operands[0], insn, 7); } - operands[1] = gen_rtx (CONST_INT, VOIDmode, - 31 - INTVAL (operands[1])); + operands[1] = GEN_INT (31 - INTVAL (operands[1])); return output_btst (operands, operands[1], operands[0], insn, 31); }") @@ -417,8 +415,7 @@ { xoperands[1] = operands[1]; xoperands[2] - = gen_rtx (MEM, QImode, - gen_rtx (PLUS, VOIDmode, stack_pointer_rtx, const1_rtx)); + = gen_rtx_MEM (QImode, plus_constant (stack_pointer_rtx, 1)); xoperands[3] = stack_pointer_rtx; /* Just pushing a byte puts it in the high byte of the halfword. */ /* We must put it in the low half, the second byte. */ @@ -430,8 +427,7 @@ xoperands[0] = operands[0]; xoperands[1] = operands[1]; xoperands[2] - = gen_rtx (MEM, QImode, - gen_rtx (PLUS, VOIDmode, stack_pointer_rtx, const1_rtx)); + = gen_rtx_MEM (QImode, plus_constant (stack_pointer_rtx, 1)); xoperands[3] = stack_pointer_rtx; output_asm_insn (\"mov%.w %1,%-\;mov%.b %2,%0\;addq%.w %#2,%3\", xoperands); return \"\"; @@ -539,7 +535,7 @@ if (REG_P (operands[1])) { rtx xoperands[2]; - xoperands[1] = gen_rtx (REG, SImode, REGNO (operands[1]) + 1); + xoperands[1] = gen_rtx_REG (SImode, REGNO (operands[1]) + 1); output_asm_insn (\"mov%.l %1,%-\", xoperands); output_asm_insn (\"mov%.l %1,%-\", operands); return \"fmove%.d %+,%0\"; @@ -551,7 +547,7 @@ if (REG_P (operands[0])) { output_asm_insn (\"fmove%.d %1,%-\;mov%.l %+,%0\", operands); - operands[0] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1); + operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]) + 1); return \"mov%.l %+,%0\"; } return \"fmove%.d %1,%0\"; @@ -572,7 +568,7 @@ if (REG_P (operands[1])) { rtx xoperands[2]; - xoperands[1] = gen_rtx (REG, SImode, REGNO (operands[1]) + 1); + xoperands[1] = gen_rtx_REG (SImode, REGNO (operands[1]) + 1); output_asm_insn (\"mov%.l %1,%-\", xoperands); output_asm_insn (\"mov%.l %1,%-\", operands); return \"fmove%.d %+,%0\"; @@ -584,7 +580,7 @@ if (REG_P (operands[0])) { output_asm_insn (\"fmove%.d %1,%-\;mov%.l %+,%0\", operands); - operands[0] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1); + operands[0] = gen_rtx_REG (SImode, REGNO (operands[0]) + 1); return \"mov%.l %+,%0\"; } return \"fmove%.d %1,%0\"; @@ -951,8 +947,7 @@ if (INTVAL (operands[2]) < 0 && INTVAL (operands[2]) >= -8) { - operands[2] = gen_rtx (CONST_INT, VOIDmode, - - INTVAL (operands[2])); + operands[2] = GEN_INT (- INTVAL (operands[2])); return (ADDRESS_REG_P (operands[0]) ? \"subq%.w %2,%0\" : \"subq%.l %2,%0\"); @@ -1343,8 +1338,7 @@ { if (GET_CODE (operands[0]) != REG) operands[0] = adj_offsettable_operand (operands[0], 2); - operands[2] = gen_rtx (CONST_INT, VOIDmode, - INTVAL (operands[2]) & 0xffff); + operands[2] = GEN_INT (INTVAL (operands[2]) & 0xffff); /* Do not delete a following tstl %0 insn; that would be incorrect. */ CC_STATUS_INIT; if (operands[2] == const0_rtx) @@ -1396,11 +1390,12 @@ || offsettable_memref_p (operands[0]))) { if (DATA_REG_P (operands[0])) - operands[1] = gen_rtx (CONST_INT, VOIDmode, logval); + operands[1] = GEN_INT (logval); else { - operands[0] = adj_offsettable_operand (operands[0], 3 - (logval / 8)); - operands[1] = gen_rtx (CONST_INT, VOIDmode, logval % 8); + operands[0] + = adj_offsettable_operand (operands[0], 3 - (logval / 8)); + operands[1] = GEN_INT (logval % 8); } return \"bset %1,%0\"; } @@ -1900,11 +1895,8 @@ && GET_CODE (operands[2]) == CONST_INT) { int width = GET_CODE (operands[0]) == REG ? 31 : 7; - return output_btst (operands, - gen_rtx (CONST_INT, VOIDmode, - width - INTVAL (operands[2])), - operands[0], - insn, 1000); + return output_btst (operands, GEN_INT (width - INTVAL (operands[2])), + operands[0], insn, 1000); /* Pass 1000 as SIGNPOS argument so that btst will not think we are testing the sign bit for an `and' and assume that nonzero implies a negative result. */ @@ -1927,11 +1919,8 @@ && GET_CODE (operands[2]) == CONST_INT) { int width = GET_CODE (operands[0]) == REG ? 31 : 7; - return output_btst (operands, - gen_rtx (CONST_INT, VOIDmode, - width - INTVAL (operands[2])), - operands[0], - insn, 1000); + return output_btst (operands, GEN_INT (width - INTVAL (operands[2])), + operands[0], insn, 1000); /* Pass 1000 as SIGNPOS argument so that btst will not think we are testing the sign bit for an `and' and assume that nonzero implies a negative result. */ @@ -2298,10 +2287,9 @@ table_elt_addr = memory_address_noforce (HImode, - gen_rtx (PLUS, Pmode, - gen_rtx (MULT, Pmode, index_diff, - gen_rtx (CONST_INT, VOIDmode, 2)), - gen_rtx (LABEL_REF, VOIDmode, operands[3]))); + gen_rtx_PLUS (Pmode, + gen_rtx_MULT (Pmode, index_diff, GEN_INT (2)), + gen_rtx_LABEL_REF (Pmode, operands[3]))); /* Emit the last few insns. */ emit_insn (gen_casesi_2 (gen_reg_rtx (HImode), table_elt_addr, operands[3])); DONE; @@ -2404,11 +2392,11 @@ output_asm_insn (\"sub%.l a0,a0\;jbsr %0\", operands); else { - xoperands[1] = gen_rtx (CONST_INT, VOIDmode, size/4); + xoperands[1] = GEN_INT (size/4); output_asm_insn (\"mov%.l sp,a0\;pea %a1\", xoperands); output_asm_insn (\"jbsr %0\", operands); size = size + 4; - xoperands[1] = gen_rtx (CONST_INT, VOIDmode, size); + xoperands[1] = GEN_INT (size); if (size <= 8) output_asm_insn (\"addq%.l %1,sp\", xoperands); else if (size < 0x8000) @@ -2435,11 +2423,11 @@ output_asm_insn(\"sub%.l a0,a0\;jbsr %1\", operands); else { - xoperands[2] = gen_rtx (CONST_INT, VOIDmode, size/4); + xoperands[2] = GEN_INT (size/4); output_asm_insn (\"mov%.l sp,a0\;pea %a2\", xoperands); output_asm_insn (\"jbsr %1\", operands); size = size + 4; - xoperands[2] = gen_rtx (CONST_INT, VOIDmode, size); + xoperands[2] = GEN_INT (size); if (size <= 8) output_asm_insn (\"addq%.l %2,sp\", xoperands); else if (size < 0x8000) @@ -2514,7 +2502,7 @@ ; "* ;{ ; rtx xoperands[2]; -; xoperands[1] = gen_rtx (REG, SImode, REGNO (operands[1]) + 1); +; xoperands[1] = gen_rtx_REG (SImode, REGNO (operands[1]) + 1); ; output_asm_insn (\"mov%.l %1,%@\", xoperands); ; output_asm_insn (\"mov%.l %1,%-\", operands); ; return \"fmove%.d %+,%0\"; |