diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2015-05-07 16:58:46 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2015-05-07 16:58:46 +0000 |
commit | f7df4a840c47845783129279750f1c214e74e7d1 (patch) | |
tree | d586b7005253121ffef57e4f1d75d48de1056334 /gcc/config/sparc | |
parent | d5449acf6b952794ecfacfbdbb8291f37dfd57d1 (diff) | |
download | gcc-f7df4a840c47845783129279750f1c214e74e7d1.zip gcc-f7df4a840c47845783129279750f1c214e74e7d1.tar.gz gcc-f7df4a840c47845783129279750f1c214e74e7d1.tar.bz2 |
rtl.h (always_void_p): New function.
gcc/
* rtl.h (always_void_p): New function.
* gengenrtl.c (always_void_p): Likewise.
(genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
with code foo are always VOIDmode.
* genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
* builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
compare-elim.c, config/aarch64/aarch64.c,
config/aarch64/aarch64.md, config/alpha/alpha.c,
config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
config/ia64/vect.md, config/iq2000/iq2000.c,
config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
config/mep/mep.c, config/microblaze/microblaze.c,
config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
config/mn10300/mn10300.c, config/msp430/msp430.c,
config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
config/rs6000/altivec.md, config/rs6000/rs6000.c,
config/rs6000/rs6000.md, config/rs6000/vector.md,
config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
config/sh/sh.md, config/sh/sh_treg_combine.cc,
config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
config/spu/spu.md, config/stormy16/stormy16.c,
config/tilegx/tilegx.c, config/tilegx/tilegx.md,
config/tilepro/tilepro.c, config/tilepro/tilepro.md,
config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
var-tracking.c: Update calls accordingly.
From-SVN: r222883
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r-- | gcc/config/sparc/sparc.c | 253 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 12 |
2 files changed, 105 insertions, 160 deletions
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 3484809..aab6f3d 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -1917,22 +1917,18 @@ sparc_emit_set_const32 (rtx op0, rtx op1) /* Emit them as real moves instead of a HIGH/LO_SUM, this way CSE can see everything and reuse intermediate values if it wants. */ - emit_insn (gen_rtx_SET (VOIDmode, temp, - GEN_INT (INTVAL (op1) - & ~(HOST_WIDE_INT)0x3ff))); + emit_insn (gen_rtx_SET (temp, GEN_INT (INTVAL (op1) + & ~(HOST_WIDE_INT) 0x3ff))); - emit_insn (gen_rtx_SET (VOIDmode, - op0, + emit_insn (gen_rtx_SET (op0, gen_rtx_IOR (mode, temp, GEN_INT (INTVAL (op1) & 0x3ff)))); } else { /* A symbol, emit in the traditional way. */ - emit_insn (gen_rtx_SET (VOIDmode, temp, - gen_rtx_HIGH (mode, op1))); - emit_insn (gen_rtx_SET (VOIDmode, - op0, gen_rtx_LO_SUM (mode, temp, op1))); + emit_insn (gen_rtx_SET (temp, gen_rtx_HIGH (mode, op1))); + emit_insn (gen_rtx_SET (op0, gen_rtx_LO_SUM (mode, temp, op1))); } } @@ -1974,8 +1970,8 @@ sparc_emit_set_symbolic_const64 (rtx op0, rtx op1, rtx temp) else temp1 = gen_reg_rtx (DImode); - emit_insn (gen_rtx_SET (VOIDmode, temp1, gen_rtx_HIGH (DImode, op1))); - emit_insn (gen_rtx_SET (VOIDmode, op0, gen_rtx_LO_SUM (DImode, temp1, op1))); + emit_insn (gen_rtx_SET (temp1, gen_rtx_HIGH (DImode, op1))); + emit_insn (gen_rtx_SET (op0, gen_rtx_LO_SUM (DImode, temp1, op1))); break; case CM_MEDMID: @@ -2006,7 +2002,7 @@ sparc_emit_set_symbolic_const64 (rtx op0, rtx op1, rtx temp) emit_insn (gen_seth44 (temp1, op1)); emit_insn (gen_setm44 (temp2, temp1, op1)); - emit_insn (gen_rtx_SET (VOIDmode, temp3, + emit_insn (gen_rtx_SET (temp3, gen_rtx_ASHIFT (DImode, temp2, GEN_INT (12)))); emit_insn (gen_setl44 (op0, temp3, op1)); break; @@ -2054,10 +2050,9 @@ sparc_emit_set_symbolic_const64 (rtx op0, rtx op1, rtx temp) emit_insn (gen_sethh (temp1, op1)); emit_insn (gen_setlm (temp2, op1)); emit_insn (gen_sethm (temp3, temp1, op1)); - emit_insn (gen_rtx_SET (VOIDmode, temp4, + emit_insn (gen_rtx_SET (temp4, gen_rtx_ASHIFT (DImode, temp3, GEN_INT (32)))); - emit_insn (gen_rtx_SET (VOIDmode, temp5, - gen_rtx_PLUS (DImode, temp4, temp2))); + emit_insn (gen_rtx_SET (temp5, gen_rtx_PLUS (DImode, temp4, temp2))); emit_insn (gen_setlo (op0, temp5, op1)); break; @@ -2126,10 +2121,9 @@ sparc_emit_set_symbolic_const64 (rtx op0, rtx op1, rtx temp) emit_insn (gen_embmedany_textuhi (temp1, op1)); emit_insn (gen_embmedany_texthi (temp2, op1)); emit_insn (gen_embmedany_textulo (temp3, temp1, op1)); - emit_insn (gen_rtx_SET (VOIDmode, temp4, + emit_insn (gen_rtx_SET (temp4, gen_rtx_ASHIFT (DImode, temp3, GEN_INT (32)))); - emit_insn (gen_rtx_SET (VOIDmode, temp5, - gen_rtx_PLUS (DImode, temp4, temp2))); + emit_insn (gen_rtx_SET (temp5, gen_rtx_PLUS (DImode, temp4, temp2))); emit_insn (gen_embmedany_textlo (op0, temp5, op1)); } break; @@ -2162,13 +2156,13 @@ static rtx gen_safe_XOR64 (rtx, HOST_WIDE_INT); static rtx gen_safe_HIGH64 (rtx dest, HOST_WIDE_INT val) { - return gen_rtx_SET (VOIDmode, dest, GEN_INT (val & ~(HOST_WIDE_INT)0x3ff)); + return gen_rtx_SET (dest, GEN_INT (val & ~(HOST_WIDE_INT)0x3ff)); } static rtx gen_safe_SET64 (rtx dest, HOST_WIDE_INT val) { - return gen_rtx_SET (VOIDmode, dest, GEN_INT (val)); + return gen_rtx_SET (dest, GEN_INT (val)); } static rtx @@ -2208,8 +2202,7 @@ sparc_emit_set_const64_quick1 (rtx op0, rtx temp, emit_insn (gen_safe_HIGH64 (temp, high_bits)); if (!is_neg) { - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_safe_OR64 (temp, (high_bits & 0x3ff)))); + emit_insn (gen_rtx_SET (op0, gen_safe_OR64 (temp, (high_bits & 0x3ff)))); } else { @@ -2218,12 +2211,11 @@ sparc_emit_set_const64_quick1 (rtx op0, rtx temp, such as ANDN later on and substitute. */ if ((low_bits & 0x3ff) == 0x3ff) { - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_NOT (DImode, temp))); + emit_insn (gen_rtx_SET (op0, gen_rtx_NOT (DImode, temp))); } else { - emit_insn (gen_rtx_SET (VOIDmode, op0, + emit_insn (gen_rtx_SET (op0, gen_safe_XOR64 (temp, (-(HOST_WIDE_INT)0x400 | (low_bits & 0x3ff))))); @@ -2246,7 +2238,7 @@ sparc_emit_set_const64_quick2 (rtx op0, rtx temp, { emit_insn (gen_safe_HIGH64 (temp, high_bits)); if ((high_bits & ~0xfffffc00) != 0) - emit_insn (gen_rtx_SET (VOIDmode, op0, + emit_insn (gen_rtx_SET (op0, gen_safe_OR64 (temp, (high_bits & 0x3ff)))); else temp2 = temp; @@ -2258,15 +2250,13 @@ sparc_emit_set_const64_quick2 (rtx op0, rtx temp, } /* Now shift it up into place. */ - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_ASHIFT (DImode, temp2, - GEN_INT (shift_count)))); + emit_insn (gen_rtx_SET (op0, gen_rtx_ASHIFT (DImode, temp2, + GEN_INT (shift_count)))); /* If there is a low immediate part piece, finish up by putting that in as well. */ if (low_immediate != 0) - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_safe_OR64 (op0, low_immediate))); + emit_insn (gen_rtx_SET (op0, gen_safe_OR64 (op0, low_immediate))); } static void sparc_emit_set_const64_longway (rtx, rtx, unsigned HOST_WIDE_INT, @@ -2288,8 +2278,7 @@ sparc_emit_set_const64_longway (rtx op0, rtx temp, { emit_insn (gen_safe_HIGH64 (temp, high_bits)); if ((high_bits & ~0xfffffc00) != 0) - emit_insn (gen_rtx_SET (VOIDmode, - sub_temp, + emit_insn (gen_rtx_SET (sub_temp, gen_safe_OR64 (temp, (high_bits & 0x3ff)))); else sub_temp = temp; @@ -2306,22 +2295,19 @@ sparc_emit_set_const64_longway (rtx op0, rtx temp, rtx temp3 = gen_reg_rtx (DImode); rtx temp4 = gen_reg_rtx (DImode); - emit_insn (gen_rtx_SET (VOIDmode, temp4, - gen_rtx_ASHIFT (DImode, sub_temp, - GEN_INT (32)))); + emit_insn (gen_rtx_SET (temp4, gen_rtx_ASHIFT (DImode, sub_temp, + GEN_INT (32)))); emit_insn (gen_safe_HIGH64 (temp2, low_bits)); if ((low_bits & ~0xfffffc00) != 0) { - emit_insn (gen_rtx_SET (VOIDmode, temp3, + emit_insn (gen_rtx_SET (temp3, gen_safe_OR64 (temp2, (low_bits & 0x3ff)))); - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_PLUS (DImode, temp4, temp3))); + emit_insn (gen_rtx_SET (op0, gen_rtx_PLUS (DImode, temp4, temp3))); } else { - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_PLUS (DImode, temp4, temp2))); + emit_insn (gen_rtx_SET (op0, gen_rtx_PLUS (DImode, temp4, temp2))); } } else @@ -2336,11 +2322,9 @@ sparc_emit_set_const64_longway (rtx op0, rtx temp, avoid emitting truly stupid code. */ if (low1 != const0_rtx) { - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_ASHIFT (DImode, sub_temp, - GEN_INT (to_shift)))); - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_IOR (DImode, op0, low1))); + emit_insn (gen_rtx_SET (op0, gen_rtx_ASHIFT (DImode, sub_temp, + GEN_INT (to_shift)))); + emit_insn (gen_rtx_SET (op0, gen_rtx_IOR (DImode, op0, low1))); sub_temp = op0; to_shift = 12; } @@ -2350,11 +2334,9 @@ sparc_emit_set_const64_longway (rtx op0, rtx temp, } if (low2 != const0_rtx) { - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_ASHIFT (DImode, sub_temp, - GEN_INT (to_shift)))); - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_IOR (DImode, op0, low2))); + emit_insn (gen_rtx_SET (op0, gen_rtx_ASHIFT (DImode, sub_temp, + GEN_INT (to_shift)))); + emit_insn (gen_rtx_SET (op0, gen_rtx_IOR (DImode, op0, low2))); sub_temp = op0; to_shift = 8; } @@ -2362,12 +2344,10 @@ sparc_emit_set_const64_longway (rtx op0, rtx temp, { to_shift += 8; } - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_ASHIFT (DImode, sub_temp, - GEN_INT (to_shift)))); + emit_insn (gen_rtx_SET (op0, gen_rtx_ASHIFT (DImode, sub_temp, + GEN_INT (to_shift)))); if (low3 != const0_rtx) - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_IOR (DImode, op0, low3))); + emit_insn (gen_rtx_SET (op0, gen_rtx_IOR (DImode, op0, low3))); /* phew... */ } } @@ -2565,17 +2545,11 @@ sparc_emit_set_const64 (rtx op0, rtx op1) emit_insn (gen_safe_SET64 (temp, the_const)); if (shift > 0) - emit_insn (gen_rtx_SET (VOIDmode, - op0, - gen_rtx_ASHIFT (DImode, - temp, - GEN_INT (shift)))); + emit_insn (gen_rtx_SET (op0, gen_rtx_ASHIFT (DImode, temp, + GEN_INT (shift)))); else if (shift < 0) - emit_insn (gen_rtx_SET (VOIDmode, - op0, - gen_rtx_LSHIFTRT (DImode, - temp, - GEN_INT (-shift)))); + emit_insn (gen_rtx_SET (op0, gen_rtx_LSHIFTRT (DImode, temp, + GEN_INT (-shift)))); return; } @@ -2598,13 +2572,11 @@ sparc_emit_set_const64 (rtx op0, rtx op1) /* If lowest_bit_set == 10 then a sethi alone could have done it. */ if (lowest_bit_set < 10) - emit_insn (gen_rtx_SET (VOIDmode, - op0, + emit_insn (gen_rtx_SET (op0, gen_rtx_LSHIFTRT (DImode, temp, GEN_INT (10 - lowest_bit_set)))); else if (lowest_bit_set > 10) - emit_insn (gen_rtx_SET (VOIDmode, - op0, + emit_insn (gen_rtx_SET (op0, gen_rtx_ASHIFT (DImode, temp, GEN_INT (lowest_bit_set - 10)))); return; @@ -2671,13 +2643,11 @@ sparc_emit_set_const64 (rtx op0, rtx op1) such as ANDN later on and substitute. */ if (trailing_bits == 0x3ff) { - emit_insn (gen_rtx_SET (VOIDmode, op0, - gen_rtx_NOT (DImode, temp))); + emit_insn (gen_rtx_SET (op0, gen_rtx_NOT (DImode, temp))); } else { - emit_insn (gen_rtx_SET (VOIDmode, - op0, + emit_insn (gen_rtx_SET (op0, gen_safe_XOR64 (temp, (-0x400 | trailing_bits)))); } @@ -2839,7 +2809,7 @@ gen_compare_reg_1 (enum rtx_code code, rtx x, rtx y) /* We shouldn't get there for TFmode if !TARGET_HARD_QUAD. If we do, this will only result in an unrecognizable insn so no point in asserting. */ - emit_insn (gen_rtx_SET (VOIDmode, cc_reg, gen_rtx_COMPARE (mode, x, y))); + emit_insn (gen_rtx_SET (cc_reg, gen_rtx_COMPARE (mode, x, y))); return cc_reg; } @@ -2896,7 +2866,7 @@ gen_v9_scc (rtx dest, enum rtx_code compare_code, rtx x, rtx y) && GET_MODE (dest) == DImode && rtx_equal_p (op0, dest)) { - emit_insn (gen_rtx_SET (VOIDmode, dest, + emit_insn (gen_rtx_SET (dest, gen_rtx_IF_THEN_ELSE (DImode, gen_rtx_fmt_ee (compare_code, DImode, op0, const0_rtx), @@ -2913,7 +2883,7 @@ gen_v9_scc (rtx dest, enum rtx_code compare_code, rtx x, rtx y) emit_move_insn (op0, x); } - emit_insn (gen_rtx_SET (VOIDmode, dest, const0_rtx)); + emit_insn (gen_rtx_SET (dest, const0_rtx)); if (GET_MODE (op0) != DImode) { temp = gen_reg_rtx (DImode); @@ -2921,7 +2891,7 @@ gen_v9_scc (rtx dest, enum rtx_code compare_code, rtx x, rtx y) } else temp = op0; - emit_insn (gen_rtx_SET (VOIDmode, dest, + emit_insn (gen_rtx_SET (dest, gen_rtx_IF_THEN_ELSE (GET_MODE (dest), gen_rtx_fmt_ee (compare_code, DImode, temp, const0_rtx), @@ -2937,8 +2907,8 @@ gen_v9_scc (rtx dest, enum rtx_code compare_code, rtx x, rtx y) gcc_assert (GET_MODE (x) != CC_NOOVmode && GET_MODE (x) != CCX_NOOVmode); - emit_insn (gen_rtx_SET (VOIDmode, dest, const0_rtx)); - emit_insn (gen_rtx_SET (VOIDmode, dest, + emit_insn (gen_rtx_SET (dest, const0_rtx)); + emit_insn (gen_rtx_SET (dest, gen_rtx_IF_THEN_ELSE (GET_MODE (dest), gen_rtx_fmt_ee (compare_code, GET_MODE (x), x, y), @@ -3047,7 +3017,7 @@ emit_scc_insn (rtx operands[]) if (code == LTU || (!TARGET_VIS3 && code == GEU)) { - emit_insn (gen_rtx_SET (VOIDmode, operands[0], + emit_insn (gen_rtx_SET (operands[0], gen_rtx_fmt_ee (code, GET_MODE (operands[0]), gen_compare_reg_1 (code, x, y), const0_rtx))); @@ -3071,8 +3041,7 @@ emit_scc_insn (rtx operands[]) static void emit_v9_brxx_insn (enum rtx_code code, rtx op0, rtx label) { - emit_jump_insn (gen_rtx_SET (VOIDmode, - pc_rtx, + emit_jump_insn (gen_rtx_SET (pc_rtx, gen_rtx_IF_THEN_ELSE (VOIDmode, gen_rtx_fmt_ee (code, GET_MODE (op0), op0, const0_rtx), @@ -3095,7 +3064,7 @@ emit_cbcond_insn (enum rtx_code code, rtx op0, rtx op1, rtx label) gen_rtx_LABEL_REF (VOIDmode, label), pc_rtx); - emit_jump_insn (gen_rtx_SET (VOIDmode, pc_rtx, if_then_else)); + emit_jump_insn (gen_rtx_SET (pc_rtx, if_then_else)); } void @@ -3414,7 +3383,7 @@ emit_hard_tfmode_operation (enum rtx_code code, rtx *operands) else dest = gen_reg_rtx (GET_MODE (operands[0])); - emit_insn (gen_rtx_SET (VOIDmode, dest, op)); + emit_insn (gen_rtx_SET (dest, op)); if (dest != operands[0]) emit_move_insn (operands[0], dest); @@ -5127,7 +5096,7 @@ sparc_emit_probe_stack_range (HOST_WIDE_INT first, HOST_WIDE_INT size) if (size <= PROBE_INTERVAL) { emit_move_insn (g1, GEN_INT (first)); - emit_insn (gen_rtx_SET (VOIDmode, g1, + emit_insn (gen_rtx_SET (g1, gen_rtx_MINUS (Pmode, stack_pointer_rtx, g1))); emit_stack_probe (plus_constant (Pmode, g1, -size)); } @@ -5139,7 +5108,7 @@ sparc_emit_probe_stack_range (HOST_WIDE_INT first, HOST_WIDE_INT size) HOST_WIDE_INT i; emit_move_insn (g1, GEN_INT (first + PROBE_INTERVAL)); - emit_insn (gen_rtx_SET (VOIDmode, g1, + emit_insn (gen_rtx_SET (g1, gen_rtx_MINUS (Pmode, stack_pointer_rtx, g1))); emit_stack_probe (g1); @@ -5148,7 +5117,7 @@ sparc_emit_probe_stack_range (HOST_WIDE_INT first, HOST_WIDE_INT size) generate any code. Then probe at FIRST + SIZE. */ for (i = 2 * PROBE_INTERVAL; i < size; i += PROBE_INTERVAL) { - emit_insn (gen_rtx_SET (VOIDmode, g1, + emit_insn (gen_rtx_SET (g1, plus_constant (Pmode, g1, -PROBE_INTERVAL))); emit_stack_probe (g1); } @@ -5179,11 +5148,11 @@ sparc_emit_probe_stack_range (HOST_WIDE_INT first, HOST_WIDE_INT size) /* Step 2: compute initial and final value of the loop counter. */ /* TEST_ADDR = SP + FIRST. */ - emit_insn (gen_rtx_SET (VOIDmode, g1, + emit_insn (gen_rtx_SET (g1, gen_rtx_MINUS (Pmode, stack_pointer_rtx, g1))); /* LAST_ADDR = SP + FIRST + ROUNDED_SIZE. */ - emit_insn (gen_rtx_SET (VOIDmode, g4, gen_rtx_MINUS (Pmode, g1, g4))); + emit_insn (gen_rtx_SET (g4, gen_rtx_MINUS (Pmode, g1, g4))); /* Step 3: the loop @@ -5357,14 +5326,12 @@ emit_save_or_restore_regs (unsigned int low, unsigned int high, rtx base, rtx set1, set2; mem = gen_frame_mem (SImode, plus_constant (Pmode, base, offset)); - set1 = gen_rtx_SET (VOIDmode, mem, - gen_rtx_REG (SImode, regno)); + set1 = gen_rtx_SET (mem, gen_rtx_REG (SImode, regno)); RTX_FRAME_RELATED_P (set1) = 1; mem = gen_frame_mem (SImode, plus_constant (Pmode, base, offset + 4)); - set2 = gen_rtx_SET (VOIDmode, mem, - gen_rtx_REG (SImode, regno + 1)); + set2 = gen_rtx_SET (mem, gen_rtx_REG (SImode, regno + 1)); RTX_FRAME_RELATED_P (set2) = 1; add_reg_note (insn, REG_FRAME_RELATED_EXPR, gen_rtx_PARALLEL (VOIDmode, @@ -5394,8 +5361,7 @@ emit_adjust_base_to_offset (rtx base, int offset) lose (the result will be clobbered). */ rtx new_base = gen_rtx_REG (Pmode, 1); emit_move_insn (new_base, GEN_INT (offset)); - emit_insn (gen_rtx_SET (VOIDmode, - new_base, gen_rtx_PLUS (Pmode, base, new_base))); + emit_insn (gen_rtx_SET (new_base, gen_rtx_PLUS (Pmode, base, new_base))); return new_base; } @@ -5442,8 +5408,7 @@ emit_window_save (rtx increment) /* The incoming return address (%o7) is saved in %i7. */ add_reg_note (insn, REG_CFA_REGISTER, - gen_rtx_SET (VOIDmode, - gen_rtx_REG (Pmode, RETURN_ADDR_REGNUM), + gen_rtx_SET (gen_rtx_REG (Pmode, RETURN_ADDR_REGNUM), gen_rtx_REG (Pmode, INCOMING_RETURN_ADDR_REGNUM))); @@ -5463,8 +5428,7 @@ emit_window_save (rtx increment) static rtx gen_stack_pointer_inc (rtx increment) { - return gen_rtx_SET (VOIDmode, - stack_pointer_rtx, + return gen_rtx_SET (stack_pointer_rtx, gen_rtx_PLUS (Pmode, stack_pointer_rtx, increment)); @@ -5672,14 +5636,14 @@ sparc_flat_expand_prologue (void) if (frame_pointer_needed) { - insn = emit_insn (gen_rtx_SET (VOIDmode, hard_frame_pointer_rtx, + insn = emit_insn (gen_rtx_SET (hard_frame_pointer_rtx, gen_rtx_MINUS (Pmode, stack_pointer_rtx, size_rtx))); RTX_FRAME_RELATED_P (insn) = 1; add_reg_note (insn, REG_CFA_ADJUST_CFA, - gen_rtx_SET (VOIDmode, hard_frame_pointer_rtx, + gen_rtx_SET (hard_frame_pointer_rtx, plus_constant (Pmode, stack_pointer_rtx, size))); } @@ -5692,8 +5656,7 @@ sparc_flat_expand_prologue (void) insn = emit_move_insn (i7, o7); RTX_FRAME_RELATED_P (insn) = 1; - add_reg_note (insn, REG_CFA_REGISTER, - gen_rtx_SET (VOIDmode, i7, o7)); + add_reg_note (insn, REG_CFA_REGISTER, gen_rtx_SET (i7, o7)); /* Prevent this instruction from ever being considered dead, even if this function has no epilogue. */ @@ -8090,7 +8053,7 @@ sparc_emit_floatunsdi (rtx *operands, machine_mode mode) emit_cmp_and_jump_insns (in, const0_rtx, LT, const0_rtx, DImode, 0, neglab); - emit_insn (gen_rtx_SET (VOIDmode, out, gen_rtx_FLOAT (mode, in))); + emit_insn (gen_rtx_SET (out, gen_rtx_FLOAT (mode, in))); emit_jump_insn (gen_jump (donelab)); emit_barrier (); @@ -8099,8 +8062,8 @@ sparc_emit_floatunsdi (rtx *operands, machine_mode mode) emit_insn (gen_lshrdi3 (i0, in, const1_rtx)); emit_insn (gen_anddi3 (i1, in, const1_rtx)); emit_insn (gen_iordi3 (i0, i0, i1)); - emit_insn (gen_rtx_SET (VOIDmode, f0, gen_rtx_FLOAT (mode, i0))); - emit_insn (gen_rtx_SET (VOIDmode, out, gen_rtx_PLUS (mode, f0, f0))); + emit_insn (gen_rtx_SET (f0, gen_rtx_FLOAT (mode, i0))); + emit_insn (gen_rtx_SET (out, gen_rtx_PLUS (mode, f0, f0))); emit_label (donelab); } @@ -8127,17 +8090,15 @@ sparc_emit_fixunsdi (rtx *operands, machine_mode mode) REAL_VALUE_ATOF ("9223372036854775808.0", mode), mode)); emit_cmp_and_jump_insns (in, limit, GE, NULL_RTX, mode, 0, neglab); - emit_insn (gen_rtx_SET (VOIDmode, - out, + emit_insn (gen_rtx_SET (out, gen_rtx_FIX (DImode, gen_rtx_FIX (mode, in)))); emit_jump_insn (gen_jump (donelab)); emit_barrier (); emit_label (neglab); - emit_insn (gen_rtx_SET (VOIDmode, f0, gen_rtx_MINUS (mode, in, limit))); - emit_insn (gen_rtx_SET (VOIDmode, - i0, + emit_insn (gen_rtx_SET (f0, gen_rtx_MINUS (mode, in, limit))); + emit_insn (gen_rtx_SET (i0, gen_rtx_FIX (DImode, gen_rtx_FIX (mode, f0)))); emit_insn (gen_movdi (i1, const1_rtx)); emit_insn (gen_ashldi3 (i1, i1, GEN_INT (63))); @@ -11271,17 +11232,15 @@ emit_and_preserve (rtx seq, rtx reg, rtx reg2) SPARC_STACK_BIAS + offset)); emit_insn (gen_stack_pointer_inc (GEN_INT (-size))); - emit_insn (gen_rtx_SET (VOIDmode, slot, reg)); + emit_insn (gen_rtx_SET (slot, reg)); if (reg2) - emit_insn (gen_rtx_SET (VOIDmode, - adjust_address (slot, word_mode, UNITS_PER_WORD), + emit_insn (gen_rtx_SET (adjust_address (slot, word_mode, UNITS_PER_WORD), reg2)); emit_insn (seq); if (reg2) - emit_insn (gen_rtx_SET (VOIDmode, - reg2, + emit_insn (gen_rtx_SET (reg2, adjust_address (slot, word_mode, UNITS_PER_WORD))); - emit_insn (gen_rtx_SET (VOIDmode, reg, slot)); + emit_insn (gen_rtx_SET (reg, slot)); emit_insn (gen_stack_pointer_inc (GEN_INT (size))); } @@ -11440,11 +11399,9 @@ sparc_output_mi_thunk (FILE *file, tree thunk_fndecl ATTRIBUTE_UNUSED, } else if (TARGET_ARCH32) { - emit_insn (gen_rtx_SET (VOIDmode, - scratch, + emit_insn (gen_rtx_SET (scratch, gen_rtx_HIGH (SImode, funexp))); - emit_insn (gen_rtx_SET (VOIDmode, - scratch, + emit_insn (gen_rtx_SET (scratch, gen_rtx_LO_SUM (SImode, scratch, funexp))); } else /* TARGET_ARCH64 */ @@ -11724,13 +11681,11 @@ sparc_expand_compare_and_swap_12 (rtx bool_result, rtx result, rtx mem, rtx resv = gen_reg_rtx (SImode); rtx memsi, val, mask, cc; - emit_insn (gen_rtx_SET (VOIDmode, addr, - gen_rtx_AND (Pmode, addr1, GEN_INT (-4)))); + emit_insn (gen_rtx_SET (addr, gen_rtx_AND (Pmode, addr1, GEN_INT (-4)))); if (Pmode != SImode) addr1 = gen_lowpart (SImode, addr1); - emit_insn (gen_rtx_SET (VOIDmode, off, - gen_rtx_AND (SImode, addr1, GEN_INT (3)))); + emit_insn (gen_rtx_SET (off, gen_rtx_AND (SImode, addr1, GEN_INT (3)))); memsi = gen_rtx_MEM (SImode, addr); set_mem_alias_set (memsi, ALIAS_SET_MEMORY_BARRIER); @@ -11738,49 +11693,41 @@ sparc_expand_compare_and_swap_12 (rtx bool_result, rtx result, rtx mem, val = copy_to_reg (memsi); - emit_insn (gen_rtx_SET (VOIDmode, off, + emit_insn (gen_rtx_SET (off, gen_rtx_XOR (SImode, off, GEN_INT (GET_MODE (mem) == QImode ? 3 : 2)))); - emit_insn (gen_rtx_SET (VOIDmode, off, - gen_rtx_ASHIFT (SImode, off, GEN_INT (3)))); + emit_insn (gen_rtx_SET (off, gen_rtx_ASHIFT (SImode, off, GEN_INT (3)))); if (GET_MODE (mem) == QImode) mask = force_reg (SImode, GEN_INT (0xff)); else mask = force_reg (SImode, GEN_INT (0xffff)); - emit_insn (gen_rtx_SET (VOIDmode, mask, - gen_rtx_ASHIFT (SImode, mask, off))); + emit_insn (gen_rtx_SET (mask, gen_rtx_ASHIFT (SImode, mask, off))); - emit_insn (gen_rtx_SET (VOIDmode, val, + emit_insn (gen_rtx_SET (val, gen_rtx_AND (SImode, gen_rtx_NOT (SImode, mask), val))); oldval = gen_lowpart (SImode, oldval); - emit_insn (gen_rtx_SET (VOIDmode, oldv, - gen_rtx_ASHIFT (SImode, oldval, off))); + emit_insn (gen_rtx_SET (oldv, gen_rtx_ASHIFT (SImode, oldval, off))); newval = gen_lowpart_common (SImode, newval); - emit_insn (gen_rtx_SET (VOIDmode, newv, - gen_rtx_ASHIFT (SImode, newval, off))); + emit_insn (gen_rtx_SET (newv, gen_rtx_ASHIFT (SImode, newval, off))); - emit_insn (gen_rtx_SET (VOIDmode, oldv, - gen_rtx_AND (SImode, oldv, mask))); + emit_insn (gen_rtx_SET (oldv, gen_rtx_AND (SImode, oldv, mask))); - emit_insn (gen_rtx_SET (VOIDmode, newv, - gen_rtx_AND (SImode, newv, mask))); + emit_insn (gen_rtx_SET (newv, gen_rtx_AND (SImode, newv, mask))); rtx_code_label *end_label = gen_label_rtx (); rtx_code_label *loop_label = gen_label_rtx (); emit_label (loop_label); - emit_insn (gen_rtx_SET (VOIDmode, oldvalue, - gen_rtx_IOR (SImode, oldv, val))); + emit_insn (gen_rtx_SET (oldvalue, gen_rtx_IOR (SImode, oldv, val))); - emit_insn (gen_rtx_SET (VOIDmode, newvalue, - gen_rtx_IOR (SImode, newv, val))); + emit_insn (gen_rtx_SET (newvalue, gen_rtx_IOR (SImode, newv, val))); emit_move_insn (bool_result, const1_rtx); @@ -11788,14 +11735,14 @@ sparc_expand_compare_and_swap_12 (rtx bool_result, rtx result, rtx mem, emit_cmp_and_jump_insns (res, oldvalue, EQ, NULL, SImode, 0, end_label); - emit_insn (gen_rtx_SET (VOIDmode, resv, + emit_insn (gen_rtx_SET (resv, gen_rtx_AND (SImode, gen_rtx_NOT (SImode, mask), res))); emit_move_insn (bool_result, const0_rtx); cc = gen_compare_reg_1 (NE, resv, val); - emit_insn (gen_rtx_SET (VOIDmode, val, resv)); + emit_insn (gen_rtx_SET (val, resv)); /* Use cbranchcc4 to separate the compare and branch! */ emit_jump_insn (gen_cbranchcc4 (gen_rtx_NE (VOIDmode, cc, const0_rtx), @@ -11803,11 +11750,9 @@ sparc_expand_compare_and_swap_12 (rtx bool_result, rtx result, rtx mem, emit_label (end_label); - emit_insn (gen_rtx_SET (VOIDmode, res, - gen_rtx_AND (SImode, res, mask))); + emit_insn (gen_rtx_SET (res, gen_rtx_AND (SImode, res, mask))); - emit_insn (gen_rtx_SET (VOIDmode, res, - gen_rtx_LSHIFTRT (SImode, res, off))); + emit_insn (gen_rtx_SET (res, gen_rtx_LSHIFTRT (SImode, res, off))); emit_move_insn (result, gen_lowpart (GET_MODE (result), res)); } @@ -12467,7 +12412,7 @@ sparc_expand_conditional_move (machine_mode mode, rtx *operands) cmp = gen_rtx_fmt_ee (rc, GET_MODE (cc_reg), cc_reg, const0_rtx); - emit_insn (gen_rtx_SET (VOIDmode, dst, + emit_insn (gen_rtx_SET (dst, gen_rtx_IF_THEN_ELSE (mode, cmp, operands[2], dst))); if (dst != operands[0]) @@ -12513,10 +12458,10 @@ sparc_expand_vcond (machine_mode mode, rtx *operands, int ccode, int fcode) gen_rtvec (3, operands[1], operands[2], gsr), UNSPEC_BSHUFFLE); - emit_insn (gen_rtx_SET (VOIDmode, mask, fcmp)); - emit_insn (gen_rtx_SET (VOIDmode, gsr, cmask)); + emit_insn (gen_rtx_SET (mask, fcmp)); + emit_insn (gen_rtx_SET (gsr, cmask)); - emit_insn (gen_rtx_SET (VOIDmode, operands[0], bshuf)); + emit_insn (gen_rtx_SET (operands[0], bshuf)); } /* On sparc, any mode which naturally allocates into the float diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 5ec0bf1..d059cc1 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -3681,7 +3681,7 @@ if (! TARGET_ARCH64) { emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, - gen_rtx_SET (VOIDmode, operands[0], + gen_rtx_SET (operands[0], gen_rtx_PLUS (DImode, operands[1], operands[2])), gen_rtx_CLOBBER (VOIDmode, @@ -3871,7 +3871,7 @@ if (! TARGET_ARCH64) { emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, - gen_rtx_SET (VOIDmode, operands[0], + gen_rtx_SET (operands[0], gen_rtx_MINUS (DImode, operands[1], operands[2])), gen_rtx_CLOBBER (VOIDmode, @@ -5152,7 +5152,7 @@ emit_insn (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, - gen_rtx_SET (VOIDmode, operand0, + gen_rtx_SET (operand0, gen_rtx_NEG (DImode, operand1)), gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (CCmode, @@ -6209,7 +6209,7 @@ (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (3, - gen_rtx_SET (VOIDmode, pc_rtx, XEXP (operands[0], 0)), + gen_rtx_SET (pc_rtx, XEXP (operands[0], 0)), operands[3], gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 15))))); else @@ -6217,7 +6217,7 @@ (gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, - gen_rtx_SET (VOIDmode, pc_rtx, XEXP (operands[0], 0)), + gen_rtx_SET (pc_rtx, XEXP (operands[0], 0)), gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 15))))); goto finish_call; } @@ -6361,7 +6361,7 @@ fn_rtx = operands[1]; vec = gen_rtvec (2, - gen_rtx_SET (VOIDmode, operands[0], + gen_rtx_SET (operands[0], gen_rtx_CALL (VOIDmode, fn_rtx, const0_rtx)), gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (Pmode, 15))); |