diff options
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r-- | gcc/config/sparc/sparc.c | 45 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.h | 16 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 4 |
3 files changed, 29 insertions, 36 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index eb4c46d356e..327ee2730b5 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -1973,8 +1973,7 @@ output_move_double (operands) { if (arith_double_operand (op1, DImode)) { - operands[1] = gen_rtx (CONST_INT, VOIDmode, - CONST_DOUBLE_LOW (op1)); + operands[1] = GEN_INT (CONST_DOUBLE_LOW (op1)); return "mov %1,%0"; } else @@ -2647,7 +2646,7 @@ output_size_for_block_move (size, reg, align) else { xoperands[1] - = gen_rtx (CONST_INT, VOIDmode, INTVAL (size) - INTVAL (align)); + = GEN_INT (INTVAL (size) - INTVAL (align)); output_asm_insn ("set %1,%0", xoperands); } } @@ -2685,7 +2684,7 @@ output_block_move (operands) if (align > UNITS_PER_WORD) { align = UNITS_PER_WORD; - alignrtx = gen_rtx (CONST_INT, VOIDmode, UNITS_PER_WORD); + alignrtx = GEN_INT (UNITS_PER_WORD); } /* We consider 8 ld/st pairs, for a total of 16 inline insns to be @@ -2781,11 +2780,11 @@ output_block_move (operands) } if (align != INTVAL (alignrtx)) - alignrtx = gen_rtx (CONST_INT, VOIDmode, align); + alignrtx = GEN_INT (align); - xoperands[3] = gen_rtx (CONST_INT, VOIDmode, movstrsi_label++); - xoperands[4] = gen_rtx (CONST_INT, VOIDmode, align); - xoperands[5] = gen_rtx (CONST_INT, VOIDmode, movstrsi_label++); + xoperands[3] = GEN_INT (movstrsi_label++); + xoperands[4] = GEN_INT (align); + xoperands[5] = GEN_INT (movstrsi_label++); ASM_GENERATE_INTERNAL_LABEL (label3, "Lm", INTVAL (xoperands[3])); ASM_GENERATE_INTERNAL_LABEL (label5, "Lm", INTVAL (xoperands[5])); @@ -4583,7 +4582,7 @@ output_return (operands) the stack pointer might have been adjusted. Output code to restore it now. */ - operands[0] = gen_rtx (CONST_INT, VOIDmode, actual_fsize); + operands[0] = GEN_INT (actual_fsize); /* Use sub of negated value in first two cases instead of add to allow actual_fsize == 4096. */ @@ -4597,7 +4596,7 @@ output_return (operands) } else if (actual_fsize <= 8192) { - operands[0] = gen_rtx (CONST_INT, VOIDmode, actual_fsize - 4096); + operands[0] = GEN_INT (actual_fsize - 4096); if (SKIP_CALLERS_UNIMP_P) return "sub %%sp,-4096,%%sp\n\tjmp %%o7+12\n\tsub %%sp,-%0,%%sp"; else @@ -5045,8 +5044,8 @@ output_double_int (file, value) high = (xword >> 32) & 0xffffffff; low = xword & 0xffffffff; - ASM_OUTPUT_INT (file, gen_rtx (CONST_INT, VOIDmode, high)); - ASM_OUTPUT_INT (file, gen_rtx (CONST_INT, VOIDmode, low)); + ASM_OUTPUT_INT (file, GEN_INT (high)); + ASM_OUTPUT_INT (file, GEN_INT (low)); #else if (INTVAL (value) < 0) ASM_OUTPUT_INT (file, constm1_rtx); @@ -5057,10 +5056,8 @@ output_double_int (file, value) } else if (GET_CODE (value) == CONST_DOUBLE) { - ASM_OUTPUT_INT (file, gen_rtx (CONST_INT, VOIDmode, - CONST_DOUBLE_HIGH (value))); - ASM_OUTPUT_INT (file, gen_rtx (CONST_INT, VOIDmode, - CONST_DOUBLE_LOW (value))); + ASM_OUTPUT_INT (file, GEN_INT (CONST_DOUBLE_HIGH (value))); + ASM_OUTPUT_INT (file, GEN_INT (CONST_DOUBLE_LOW (value))); } else if (GET_CODE (value) == SYMBOL_REF || GET_CODE (value) == CONST @@ -5260,16 +5257,12 @@ sparc_initialize_trampoline (tramp, fnaddr, cxt) size_int (10), 0, 1); rtx high_fn = expand_shift (RSHIFT_EXPR, SImode, fnaddr, size_int (10), 0, 1); - rtx low_cxt = expand_and (cxt, gen_rtx (CONST_INT, VOIDmode, 0x3ff), 0); - rtx low_fn = expand_and (fnaddr, gen_rtx (CONST_INT, VOIDmode, 0x3ff), 0); - rtx g1_sethi = gen_rtx (HIGH, SImode, - gen_rtx (CONST_INT, VOIDmode, 0x03000000)); - rtx g2_sethi = gen_rtx (HIGH, SImode, - gen_rtx (CONST_INT, VOIDmode, 0x05000000)); - rtx g1_ori = gen_rtx (HIGH, SImode, - gen_rtx (CONST_INT, VOIDmode, 0x82106000)); - rtx g2_ori = gen_rtx (HIGH, SImode, - gen_rtx (CONST_INT, VOIDmode, 0x8410A000)); + rtx low_cxt = expand_and (cxt, GEN_INT (0x3ff), 0); + rtx low_fn = expand_and (fnaddr, GEN_INT (0x3ff), 0); + rtx g1_sethi = gen_rtx (HIGH, SImode, GEN_INT (0x03000000)); + rtx g2_sethi = gen_rtx (HIGH, SImode, GEN_INT (0x05000000)); + rtx g1_ori = gen_rtx (HIGH, SImode, GEN_INT (0x82106000)); + rtx g2_ori = gen_rtx (HIGH, SImode, GEN_INT (0x8410A000)); rtx tem = gen_reg_rtx (SImode); emit_move_insn (tem, g1_sethi); emit_insn (gen_iorsi3 (high_fn, high_fn, tem)); diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 9ec92c872a9..ce57192135b 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -1095,13 +1095,13 @@ extern int sparc_mode_class[]; ? 0 \ : gen_rtx (MEM, Pmode, \ gen_rtx (PLUS, Pmode, stack_pointer_rtx, \ - gen_rtx (CONST_INT, VOIDmode, STRUCT_VALUE_OFFSET)))) + GEN_INT (STRUCT_VALUE_OFFSET)))) #define STRUCT_VALUE_INCOMING \ (TARGET_ARCH64 \ ? 0 \ : gen_rtx (MEM, Pmode, \ gen_rtx (PLUS, Pmode, frame_pointer_rtx, \ - gen_rtx (CONST_INT, VOIDmode, STRUCT_VALUE_OFFSET)))) + GEN_INT (STRUCT_VALUE_OFFSET)))) /* Define the classes of registers for register constraints in the machine description. Also define ranges of constants. @@ -2120,11 +2120,11 @@ do { \ } \ else \ { \ - ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x00000000)); \ - ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x00000000)); \ - ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x00000000)); \ - ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x81C04000)); \ - ASM_OUTPUT_INT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x00000000)); \ + ASM_OUTPUT_INT (FILE, GEN_INT (0x00000000)); \ + ASM_OUTPUT_INT (FILE, GEN_INT (0x00000000)); \ + ASM_OUTPUT_INT (FILE, GEN_INT (0x00000000)); \ + ASM_OUTPUT_INT (FILE, GEN_INT (0x81C04000)); \ + ASM_OUTPUT_INT (FILE, GEN_INT (0x00000000)); \ } \ } while (0) @@ -2176,7 +2176,7 @@ extern struct rtx_def *sparc_builtin_saveregs (); that holds the dynamic chain--the previous frame's address. ??? -mflat support? */ #define DYNAMIC_CHAIN_ADDRESS(frame) \ - gen_rtx (PLUS, Pmode, frame, gen_rtx (CONST_INT, VOIDmode, 14 * UNITS_PER_WORD)) + gen_rtx (PLUS, Pmode, frame, GEN_INT (14 * UNITS_PER_WORD)) /* The return address isn't on the stack, it is in a register, so we can't access it from the current frame pointer. We can access it from the diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 13c2f0e7300..ac79f682757 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -5507,9 +5507,9 @@ #if 0 if (operands[3]) - nregs_rtx = gen_rtx (CONST_INT, VOIDmode, REGNO (operands[3]) - 8); + nregs_rtx = GEN_INT (REGNO (operands[3]) - 8); else - nregs_rtx = gen_rtx (CONST_INT, VOIDmode, 6); + nregs_rtx = GEN_INT (6); #else nregs_rtx = const0_rtx; #endif |