aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/powerpcspe/powerpcspe.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/powerpcspe/powerpcspe.c')
-rw-r--r--gcc/config/powerpcspe/powerpcspe.c466
1 files changed, 233 insertions, 233 deletions
diff --git a/gcc/config/powerpcspe/powerpcspe.c b/gcc/config/powerpcspe/powerpcspe.c
index 4cb10d1..a104b4c 100644
--- a/gcc/config/powerpcspe/powerpcspe.c
+++ b/gcc/config/powerpcspe/powerpcspe.c
@@ -2963,13 +2963,13 @@ rs6000_setup_reg_addr_masks (void)
addr_mask |= RELOAD_REG_PRE_MODIFY;
break;
- case DImode:
+ case E_DImode:
if (TARGET_POWERPC64)
addr_mask |= RELOAD_REG_PRE_MODIFY;
break;
- case DFmode:
- case DDmode:
+ case E_DFmode:
+ case E_DDmode:
if (TARGET_DF_INSN)
addr_mask |= RELOAD_REG_PRE_MODIFY;
break;
@@ -5883,33 +5883,33 @@ rs6000_preferred_simd_mode (machine_mode mode)
if (TARGET_VSX)
switch (mode)
{
- case DFmode:
+ case E_DFmode:
return V2DFmode;
default:;
}
if (TARGET_ALTIVEC || TARGET_VSX)
switch (mode)
{
- case SFmode:
+ case E_SFmode:
return V4SFmode;
- case TImode:
+ case E_TImode:
return V1TImode;
- case DImode:
+ case E_DImode:
return V2DImode;
- case SImode:
+ case E_SImode:
return V4SImode;
- case HImode:
+ case E_HImode:
return V8HImode;
- case QImode:
+ case E_QImode:
return V16QImode;
default:;
}
if (TARGET_SPE)
switch (mode)
{
- case SFmode:
+ case E_SFmode:
return V2SFmode;
- case SImode:
+ case E_SImode:
return V2SImode;
default:;
}
@@ -7095,13 +7095,13 @@ output_vec_const_move (rtx *operands)
switch (GET_MODE (splat_vec))
{
- case V4SImode:
+ case E_V4SImode:
return "vspltisw %0,%1";
- case V8HImode:
+ case E_V8HImode:
return "vspltish %0,%1";
- case V16QImode:
+ case E_V16QImode:
return "vspltisb %0,%1";
default:
@@ -7669,20 +7669,20 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
{
default:
break;
- case V1TImode:
+ case E_V1TImode:
gcc_assert (INTVAL (elt) == 0 && inner_mode == TImode);
emit_move_insn (target, gen_lowpart (TImode, vec));
break;
- case V2DFmode:
+ case E_V2DFmode:
emit_insn (gen_vsx_extract_v2df (target, vec, elt));
return;
- case V2DImode:
+ case E_V2DImode:
emit_insn (gen_vsx_extract_v2di (target, vec, elt));
return;
- case V4SFmode:
+ case E_V4SFmode:
emit_insn (gen_vsx_extract_v4sf (target, vec, elt));
return;
- case V16QImode:
+ case E_V16QImode:
if (TARGET_DIRECT_MOVE_64BIT)
{
emit_insn (gen_vsx_extract_v16qi (target, vec, elt));
@@ -7690,7 +7690,7 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
}
else
break;
- case V8HImode:
+ case E_V8HImode:
if (TARGET_DIRECT_MOVE_64BIT)
{
emit_insn (gen_vsx_extract_v8hi (target, vec, elt));
@@ -7698,7 +7698,7 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
}
else
break;
- case V4SImode:
+ case E_V4SImode:
if (TARGET_DIRECT_MOVE_64BIT)
{
emit_insn (gen_vsx_extract_v4si (target, vec, elt));
@@ -7721,27 +7721,27 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
switch (mode)
{
- case V2DFmode:
+ case E_V2DFmode:
emit_insn (gen_vsx_extract_v2df_var (target, vec, elt));
return;
- case V2DImode:
+ case E_V2DImode:
emit_insn (gen_vsx_extract_v2di_var (target, vec, elt));
return;
- case V4SFmode:
+ case E_V4SFmode:
emit_insn (gen_vsx_extract_v4sf_var (target, vec, elt));
return;
- case V4SImode:
+ case E_V4SImode:
emit_insn (gen_vsx_extract_v4si_var (target, vec, elt));
return;
- case V8HImode:
+ case E_V8HImode:
emit_insn (gen_vsx_extract_v8hi_var (target, vec, elt));
return;
- case V16QImode:
+ case E_V16QImode:
emit_insn (gen_vsx_extract_v16qi_var (target, vec, elt));
return;
@@ -8065,15 +8065,15 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr,
/* Do the VSLO to get the value into the final location. */
switch (mode)
{
- case V2DFmode:
+ case E_V2DFmode:
emit_insn (gen_vsx_vslo_v2df (dest, src, tmp_altivec));
return;
- case V2DImode:
+ case E_V2DImode:
emit_insn (gen_vsx_vslo_v2di (dest, src, tmp_altivec));
return;
- case V4SFmode:
+ case E_V4SFmode:
{
rtx tmp_altivec_di = gen_rtx_REG (DImode, REGNO (tmp_altivec));
rtx tmp_altivec_v4sf = gen_rtx_REG (V4SFmode, REGNO (tmp_altivec));
@@ -8085,9 +8085,9 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr,
return;
}
- case V4SImode:
- case V8HImode:
- case V16QImode:
+ case E_V4SImode:
+ case E_V8HImode:
+ case E_V16QImode:
{
rtx tmp_altivec_di = gen_rtx_REG (DImode, REGNO (tmp_altivec));
rtx src_v2di = gen_rtx_REG (V2DImode, REGNO (src));
@@ -8652,16 +8652,16 @@ reg_offset_addressing_ok_p (machine_mode mode)
{
switch (mode)
{
- case V16QImode:
- case V8HImode:
- case V4SFmode:
- case V4SImode:
- case V2DFmode:
- case V2DImode:
- case V1TImode:
- case TImode:
- case TFmode:
- case KFmode:
+ case E_V16QImode:
+ case E_V8HImode:
+ case E_V4SFmode:
+ case E_V4SImode:
+ case E_V2DFmode:
+ case E_V2DImode:
+ case E_V1TImode:
+ case E_TImode:
+ case E_TFmode:
+ case E_KFmode:
/* AltiVec/VSX vector modes. Only reg+reg addressing was valid until the
ISA 3.0 vector d-form addressing mode was added. While TImode is not
a vector mode, if we want to use the VSX registers to move it around,
@@ -8672,16 +8672,16 @@ reg_offset_addressing_ok_p (machine_mode mode)
return mode_supports_vsx_dform_quad (mode);
break;
- case V4HImode:
- case V2SImode:
- case V1DImode:
- case V2SFmode:
+ case E_V4HImode:
+ case E_V2SImode:
+ case E_V1DImode:
+ case E_V2SFmode:
/* Paired vector modes. Only reg+reg addressing is valid. */
if (TARGET_PAIRED_FLOAT)
return false;
break;
- case SDmode:
+ case E_SDmode:
/* If we can do direct load/stores of SDmode, restrict it to reg+reg
addressing for the LFIWZX and STFIWX instructions. */
if (TARGET_NO_SDMODE_STACK)
@@ -8912,16 +8912,16 @@ rs6000_legitimate_offset_address_p (machine_mode mode, rtx x,
extra = 0;
switch (mode)
{
- case V4HImode:
- case V2SImode:
- case V1DImode:
- case V2SFmode:
+ case E_V4HImode:
+ case E_V2SImode:
+ case E_V1DImode:
+ case E_V2SFmode:
/* SPE vector modes. */
return SPE_CONST_OFFSET_OK (offset);
- case DFmode:
- case DDmode:
- case DImode:
+ case E_DFmode:
+ case E_DDmode:
+ case E_DImode:
/* On e500v2, we may have:
(subreg:DF (mem:DI (plus (reg) (const_int))) 0).
@@ -8943,12 +8943,12 @@ rs6000_legitimate_offset_address_p (machine_mode mode, rtx x,
return false;
break;
- case TFmode:
- case IFmode:
- case KFmode:
- case TDmode:
- case TImode:
- case PTImode:
+ case E_TFmode:
+ case E_IFmode:
+ case E_KFmode:
+ case E_TDmode:
+ case E_TImode:
+ case E_PTImode:
if (TARGET_E500_DOUBLE)
return (SPE_CONST_OFFSET_OK (offset)
&& SPE_CONST_OFFSET_OK (offset + 8));
@@ -9138,12 +9138,12 @@ rs6000_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
extra = 0;
switch (mode)
{
- case TFmode:
- case TDmode:
- case TImode:
- case PTImode:
- case IFmode:
- case KFmode:
+ case E_TFmode:
+ case E_TDmode:
+ case E_TImode:
+ case E_PTImode:
+ case E_IFmode:
+ case E_KFmode:
/* As in legitimate_offset_address_p we do not assume
worst-case. The mode here is just a hint as to the registers
used. A TImode is usually in gprs, but may actually be in
@@ -10519,12 +10519,12 @@ rs6000_emit_set_const (rtx dest, rtx source)
c = INTVAL (source);
switch (mode)
{
- case QImode:
- case HImode:
+ case E_QImode:
+ case E_HImode:
emit_insn (gen_rtx_SET (dest, source));
return true;
- case SImode:
+ case E_SImode:
temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (SImode);
emit_insn (gen_rtx_SET (copy_rtx (temp),
@@ -10534,7 +10534,7 @@ rs6000_emit_set_const (rtx dest, rtx source)
GEN_INT (c & 0xffff))));
break;
- case DImode:
+ case E_DImode:
if (!TARGET_POWERPC64)
{
rtx hi, lo;
@@ -10693,21 +10693,21 @@ rs6000_const_vec (machine_mode mode)
switch (mode)
{
- case V1TImode:
+ case E_V1TImode:
subparts = 1;
break;
- case V2DFmode:
- case V2DImode:
+ case E_V2DFmode:
+ case E_V2DImode:
subparts = 2;
break;
- case V4SFmode:
- case V4SImode:
+ case E_V4SFmode:
+ case E_V4SImode:
subparts = 4;
break;
- case V8HImode:
+ case E_V8HImode:
subparts = 8;
break;
- case V16QImode:
+ case E_V16QImode:
subparts = 16;
break;
default:
@@ -11174,48 +11174,48 @@ rs6000_emit_move (rtx dest, rtx source, machine_mode mode)
mode == Pmode. */
switch (mode)
{
- case HImode:
- case QImode:
+ case E_HImode:
+ case E_QImode:
if (CONSTANT_P (operands[1])
&& GET_CODE (operands[1]) != CONST_INT)
operands[1] = force_const_mem (mode, operands[1]);
break;
- case TFmode:
- case TDmode:
- case IFmode:
- case KFmode:
+ case E_TFmode:
+ case E_TDmode:
+ case E_IFmode:
+ case E_KFmode:
if (FLOAT128_2REG_P (mode))
rs6000_eliminate_indexed_memrefs (operands);
/* fall through */
- case DFmode:
- case DDmode:
- case SFmode:
- case SDmode:
+ case E_DFmode:
+ case E_DDmode:
+ case E_SFmode:
+ case E_SDmode:
if (CONSTANT_P (operands[1])
&& ! easy_fp_constant (operands[1], mode))
operands[1] = force_const_mem (mode, operands[1]);
break;
- case V16QImode:
- case V8HImode:
- case V4SFmode:
- case V4SImode:
- case V4HImode:
- case V2SFmode:
- case V2SImode:
- case V1DImode:
- case V2DFmode:
- case V2DImode:
- case V1TImode:
+ case E_V16QImode:
+ case E_V8HImode:
+ case E_V4SFmode:
+ case E_V4SImode:
+ case E_V4HImode:
+ case E_V2SFmode:
+ case E_V2SImode:
+ case E_V1DImode:
+ case E_V2DFmode:
+ case E_V2DImode:
+ case E_V1TImode:
if (CONSTANT_P (operands[1])
&& !easy_vector_constant (operands[1], mode))
operands[1] = force_const_mem (mode, operands[1]);
break;
- case SImode:
- case DImode:
+ case E_SImode:
+ case E_DImode:
/* Use default pattern for address of ELF small data */
if (TARGET_ELF
&& mode == Pmode
@@ -11362,12 +11362,12 @@ rs6000_emit_move (rtx dest, rtx source, machine_mode mode)
}
break;
- case TImode:
+ case E_TImode:
if (!VECTOR_MEM_VSX_P (TImode))
rs6000_eliminate_indexed_memrefs (operands);
break;
- case PTImode:
+ case E_PTImode:
rs6000_eliminate_indexed_memrefs (operands);
break;
@@ -12525,20 +12525,20 @@ spe_build_register_parallel (machine_mode mode, int gregno)
switch (mode)
{
- case DFmode:
+ case E_DFmode:
r1 = gen_rtx_REG (DImode, gregno);
r1 = gen_rtx_EXPR_LIST (VOIDmode, r1, const0_rtx);
return gen_rtx_PARALLEL (mode, gen_rtvec (1, r1));
- case DCmode:
- case TFmode:
+ case E_DCmode:
+ case E_TFmode:
r1 = gen_rtx_REG (DImode, gregno);
r1 = gen_rtx_EXPR_LIST (VOIDmode, r1, const0_rtx);
r3 = gen_rtx_REG (DImode, gregno + 2);
r3 = gen_rtx_EXPR_LIST (VOIDmode, r3, GEN_INT (8));
return gen_rtx_PARALLEL (mode, gen_rtvec (2, r1, r3));
- case TCmode:
+ case E_TCmode:
r1 = gen_rtx_REG (DImode, gregno);
r1 = gen_rtx_EXPR_LIST (VOIDmode, r1, const0_rtx);
r3 = gen_rtx_REG (DImode, gregno + 2);
@@ -12711,9 +12711,9 @@ rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, const_tree type,
#if 0
switch (mode)
{
- case SCmode: mode = SFmode; break;
- case DCmode: mode = DFmode; break;
- case TCmode: mode = TFmode; break;
+ case E_SCmode: mode = SFmode; break;
+ case E_DCmode: mode = DFmode; break;
+ case E_TCmode: mode = TFmode; break;
default: break;
}
#endif
@@ -15013,18 +15013,18 @@ swap_selector_for_mode (machine_mode mode)
switch (mode)
{
- case V2DFmode:
- case V2DImode:
+ case E_V2DFmode:
+ case E_V2DImode:
swaparray = swap2;
break;
- case V4SFmode:
- case V4SImode:
+ case E_V4SFmode:
+ case E_V4SImode:
swaparray = swap4;
break;
- case V8HImode:
+ case E_V8HImode:
swaparray = swap8;
break;
- case V16QImode:
+ case E_V16QImode:
swaparray = swap16;
break;
default:
@@ -18049,10 +18049,10 @@ spe_init_builtins (void)
gcc_assert (d->icode != CODE_FOR_nothing);
switch (insn_data[d->icode].operand[1].mode)
{
- case V2SImode:
+ case E_V2SImode:
type = int_ftype_int_v2si_v2si;
break;
- case V2SFmode:
+ case E_V2SFmode:
type = int_ftype_int_v2sf_v2sf;
break;
default:
@@ -18081,10 +18081,10 @@ spe_init_builtins (void)
gcc_assert (d->icode != CODE_FOR_nothing);
switch (insn_data[d->icode].operand[1].mode)
{
- case V2SImode:
+ case E_V2SImode:
type = v2si_ftype_4_v2si;
break;
- case V2SFmode:
+ case E_V2SFmode:
type = v2sf_ftype_4_v2sf;
break;
default:
@@ -18156,7 +18156,7 @@ paired_init_builtins (void)
switch (insn_data[d->icode].operand[1].mode)
{
- case V2SFmode:
+ case E_V2SFmode:
type = int_ftype_int_v2sf_v2sf;
break;
default:
@@ -18568,25 +18568,25 @@ altivec_init_builtins (void)
switch (mode1)
{
- case VOIDmode:
+ case E_VOIDmode:
type = int_ftype_int_opaque_opaque;
break;
- case V2DImode:
+ case E_V2DImode:
type = int_ftype_int_v2di_v2di;
break;
- case V4SImode:
+ case E_V4SImode:
type = int_ftype_int_v4si_v4si;
break;
- case V8HImode:
+ case E_V8HImode:
type = int_ftype_int_v8hi_v8hi;
break;
- case V16QImode:
+ case E_V16QImode:
type = int_ftype_int_v16qi_v16qi;
break;
- case V4SFmode:
+ case E_V4SFmode:
type = int_ftype_int_v4sf_v4sf;
break;
- case V2DFmode:
+ case E_V2DFmode:
type = int_ftype_int_v2df_v2df;
break;
default:
@@ -18618,22 +18618,22 @@ altivec_init_builtins (void)
switch (mode0)
{
- case V2DImode:
+ case E_V2DImode:
type = v2di_ftype_v2di;
break;
- case V4SImode:
+ case E_V4SImode:
type = v4si_ftype_v4si;
break;
- case V8HImode:
+ case E_V8HImode:
type = v8hi_ftype_v8hi;
break;
- case V16QImode:
+ case E_V16QImode:
type = v16qi_ftype_v16qi;
break;
- case V4SFmode:
+ case E_V4SFmode:
type = v4sf_ftype_v4sf;
break;
- case V2DFmode:
+ case E_V2DFmode:
type = v2df_ftype_v2df;
break;
default:
@@ -19727,13 +19727,13 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
{
switch (GET_MODE (reg))
{
- case DImode:
+ case E_DImode:
switch (mode)
{
- case QImode:
+ case E_QImode:
emit_insn (gen_zero_extendqidi2 (reg, mem));
break;
- case HImode:
+ case E_HImode:
{
rtx src = mem;
if (!BYTES_BIG_ENDIAN)
@@ -19744,7 +19744,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
emit_insn (gen_zero_extendhidi2 (reg, src));
break;
}
- case SImode:
+ case E_SImode:
{
rtx src = mem;
if (!BYTES_BIG_ENDIAN)
@@ -19755,7 +19755,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
emit_insn (gen_zero_extendsidi2 (reg, src));
}
break;
- case DImode:
+ case E_DImode:
if (!BYTES_BIG_ENDIAN)
emit_insn (gen_bswapdi2 (reg, mem));
else
@@ -19766,13 +19766,13 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
}
break;
- case SImode:
+ case E_SImode:
switch (mode)
{
- case QImode:
+ case E_QImode:
emit_insn (gen_zero_extendqisi2 (reg, mem));
break;
- case HImode:
+ case E_HImode:
{
rtx src = mem;
if (!BYTES_BIG_ENDIAN)
@@ -19783,13 +19783,13 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
emit_insn (gen_zero_extendhisi2 (reg, src));
break;
}
- case SImode:
+ case E_SImode:
if (!BYTES_BIG_ENDIAN)
emit_insn (gen_bswapsi2 (reg, mem));
else
emit_insn (gen_movsi (reg, mem));
break;
- case DImode:
+ case E_DImode:
/* DImode is larger than the destination reg so is not expected. */
gcc_unreachable ();
break;
@@ -24526,21 +24526,21 @@ rs6000_generate_compare (rtx cmp, machine_mode mode)
case EQ:
switch (op_mode)
{
- case SFmode:
+ case E_SFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstsfeq_gpr (compare_result, op0, op1)
: gen_cmpsfeq_gpr (compare_result, op0, op1);
break;
- case DFmode:
+ case E_DFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstdfeq_gpr (compare_result, op0, op1)
: gen_cmpdfeq_gpr (compare_result, op0, op1);
break;
- case TFmode:
- case IFmode:
- case KFmode:
+ case E_TFmode:
+ case E_IFmode:
+ case E_KFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tsttfeq_gpr (compare_result, op0, op1)
: gen_cmptfeq_gpr (compare_result, op0, op1);
@@ -24555,21 +24555,21 @@ rs6000_generate_compare (rtx cmp, machine_mode mode)
case GE:
switch (op_mode)
{
- case SFmode:
+ case E_SFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstsfgt_gpr (compare_result, op0, op1)
: gen_cmpsfgt_gpr (compare_result, op0, op1);
break;
- case DFmode:
+ case E_DFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstdfgt_gpr (compare_result, op0, op1)
: gen_cmpdfgt_gpr (compare_result, op0, op1);
break;
- case TFmode:
- case IFmode:
- case KFmode:
+ case E_TFmode:
+ case E_IFmode:
+ case E_KFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tsttfgt_gpr (compare_result, op0, op1)
: gen_cmptfgt_gpr (compare_result, op0, op1);
@@ -24584,21 +24584,21 @@ rs6000_generate_compare (rtx cmp, machine_mode mode)
case LE:
switch (op_mode)
{
- case SFmode:
+ case E_SFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstsflt_gpr (compare_result, op0, op1)
: gen_cmpsflt_gpr (compare_result, op0, op1);
break;
- case DFmode:
+ case E_DFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstdflt_gpr (compare_result, op0, op1)
: gen_cmpdflt_gpr (compare_result, op0, op1);
break;
- case TFmode:
- case IFmode:
- case KFmode:
+ case E_TFmode:
+ case E_IFmode:
+ case E_KFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tsttflt_gpr (compare_result, op0, op1)
: gen_cmptflt_gpr (compare_result, op0, op1);
@@ -24623,21 +24623,21 @@ rs6000_generate_compare (rtx cmp, machine_mode mode)
/* Do the EQ. */
switch (op_mode)
{
- case SFmode:
+ case E_SFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstsfeq_gpr (compare_result2, op0, op1)
: gen_cmpsfeq_gpr (compare_result2, op0, op1);
break;
- case DFmode:
+ case E_DFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tstdfeq_gpr (compare_result2, op0, op1)
: gen_cmpdfeq_gpr (compare_result2, op0, op1);
break;
- case TFmode:
- case IFmode:
- case KFmode:
+ case E_TFmode:
+ case E_IFmode:
+ case E_KFmode:
cmp = (flag_finite_math_only && !flag_trapping_math)
? gen_tsttfeq_gpr (compare_result2, op0, op1)
: gen_cmptfeq_gpr (compare_result2, op0, op1);
@@ -24989,26 +24989,26 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
switch (src_mode)
{
- case DFmode:
+ case E_DFmode:
cvt = sext_optab;
hw_convert = hw_conversions[kf_or_tf].from_df;
break;
- case SFmode:
+ case E_SFmode:
cvt = sext_optab;
hw_convert = hw_conversions[kf_or_tf].from_sf;
break;
- case KFmode:
- case IFmode:
- case TFmode:
+ case E_KFmode:
+ case E_IFmode:
+ case E_TFmode:
if (FLOAT128_IBM_P (src_mode))
cvt = sext_optab;
else
do_move = true;
break;
- case SImode:
+ case E_SImode:
if (unsigned_p)
{
cvt = ufloat_optab;
@@ -25021,7 +25021,7 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
}
break;
- case DImode:
+ case E_DImode:
if (unsigned_p)
{
cvt = ufloat_optab;
@@ -25051,26 +25051,26 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
switch (dest_mode)
{
- case DFmode:
+ case E_DFmode:
cvt = trunc_optab;
hw_convert = hw_conversions[kf_or_tf].to_df;
break;
- case SFmode:
+ case E_SFmode:
cvt = trunc_optab;
hw_convert = hw_conversions[kf_or_tf].to_sf;
break;
- case KFmode:
- case IFmode:
- case TFmode:
+ case E_KFmode:
+ case E_IFmode:
+ case E_TFmode:
if (FLOAT128_IBM_P (dest_mode))
cvt = trunc_optab;
else
do_move = true;
break;
- case SImode:
+ case E_SImode:
if (unsigned_p)
{
cvt = ufix_optab;
@@ -25083,7 +25083,7 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
}
break;
- case DImode:
+ case E_DImode:
if (unsigned_p)
{
cvt = ufix_optab;
@@ -26141,13 +26141,13 @@ emit_load_locked (machine_mode mode, rtx reg, rtx mem)
switch (mode)
{
- case QImode:
+ case E_QImode:
fn = gen_load_lockedqi;
break;
- case HImode:
+ case E_HImode:
fn = gen_load_lockedhi;
break;
- case SImode:
+ case E_SImode:
if (GET_MODE (mem) == QImode)
fn = gen_load_lockedqi_si;
else if (GET_MODE (mem) == HImode)
@@ -26155,10 +26155,10 @@ emit_load_locked (machine_mode mode, rtx reg, rtx mem)
else
fn = gen_load_lockedsi;
break;
- case DImode:
+ case E_DImode:
fn = gen_load_lockeddi;
break;
- case TImode:
+ case E_TImode:
fn = gen_load_lockedti;
break;
default:
@@ -26177,19 +26177,19 @@ emit_store_conditional (machine_mode mode, rtx res, rtx mem, rtx val)
switch (mode)
{
- case QImode:
+ case E_QImode:
fn = gen_store_conditionalqi;
break;
- case HImode:
+ case E_HImode:
fn = gen_store_conditionalhi;
break;
- case SImode:
+ case E_SImode:
fn = gen_store_conditionalsi;
break;
- case DImode:
+ case E_DImode:
fn = gen_store_conditionaldi;
break;
- case TImode:
+ case E_TImode:
fn = gen_store_conditionalti;
break;
default:
@@ -31997,17 +31997,17 @@ rs6000_output_function_epilogue (FILE *file)
switch (mode)
{
- case SFmode:
- case SDmode:
+ case E_SFmode:
+ case E_SDmode:
bits = 0x2;
break;
- case DFmode:
- case DDmode:
- case TFmode:
- case TDmode:
- case IFmode:
- case KFmode:
+ case E_DFmode:
+ case E_DDmode:
+ case E_TFmode:
+ case E_TDmode:
+ case E_IFmode:
+ case E_KFmode:
bits = 0x3;
break;
@@ -35552,28 +35552,28 @@ rs6000_handle_altivec_attribute (tree *node,
unsigned_p = TYPE_UNSIGNED (type);
switch (mode)
{
- case TImode:
+ case E_TImode:
result = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node);
break;
- case DImode:
+ case E_DImode:
result = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node);
break;
- case SImode:
+ case E_SImode:
result = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node);
break;
- case HImode:
+ case E_HImode:
result = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node);
break;
- case QImode:
+ case E_QImode:
result = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node);
break;
- case SFmode: result = V4SF_type_node; break;
- case DFmode: result = V2DF_type_node; break;
+ case E_SFmode: result = V4SF_type_node; break;
+ case E_DFmode: result = V2DF_type_node; break;
/* If the user says 'vector int bool', we may be handed the 'bool'
attribute _before_ the 'vector' attribute, and so select the
proper type in the 'b' case below. */
- case V4SImode: case V8HImode: case V16QImode: case V4SFmode:
- case V2DImode: case V2DFmode:
+ case E_V4SImode: case E_V8HImode: case E_V16QImode: case E_V4SFmode:
+ case E_V2DImode: case E_V2DFmode:
result = type;
default: break;
}
@@ -35581,17 +35581,17 @@ rs6000_handle_altivec_attribute (tree *node,
case 'b':
switch (mode)
{
- case DImode: case V2DImode: result = bool_V2DI_type_node; break;
- case SImode: case V4SImode: result = bool_V4SI_type_node; break;
- case HImode: case V8HImode: result = bool_V8HI_type_node; break;
- case QImode: case V16QImode: result = bool_V16QI_type_node;
+ case E_DImode: case E_V2DImode: result = bool_V2DI_type_node; break;
+ case E_SImode: case E_V4SImode: result = bool_V4SI_type_node; break;
+ case E_HImode: case E_V8HImode: result = bool_V8HI_type_node; break;
+ case E_QImode: case E_V16QImode: result = bool_V16QI_type_node;
default: break;
}
break;
case 'p':
switch (mode)
{
- case V8HImode: result = pixel_V8HI_type_node;
+ case E_V8HImode: result = pixel_V8HI_type_node;
default: break;
}
default: break;
@@ -38850,10 +38850,10 @@ rs6000_function_value (const_tree valtype,
{
default:
break;
- case DImode:
- case SCmode:
- case DCmode:
- case TCmode:
+ case E_DImode:
+ case E_SCmode:
+ case E_DCmode:
+ case E_TCmode:
int count = GET_MODE_SIZE (mode) / 4;
return rs6000_parallel_return (mode, count, SImode, GP_ARG_RETURN, 1);
}
@@ -41234,24 +41234,24 @@ emit_fusion_gpr_load (rtx target, rtx mem)
mode = GET_MODE (mem);
switch (mode)
{
- case QImode:
+ case E_QImode:
mode_name = "char";
load_str = "lbz";
break;
- case HImode:
+ case E_HImode:
mode_name = "short";
load_str = "lhz";
break;
- case SImode:
- case SFmode:
+ case E_SImode:
+ case E_SFmode:
mode_name = (mode == SFmode) ? "float" : "int";
load_str = "lwz";
break;
- case DImode:
- case DFmode:
+ case E_DImode:
+ case E_DFmode:
gcc_assert (TARGET_POWERPC64);
mode_name = (mode == DFmode) ? "double" : "long";
load_str = "ld";
@@ -41501,18 +41501,18 @@ emit_fusion_p9_load (rtx reg, rtx mem, rtx tmp_reg)
{
switch (mode)
{
- case QImode:
+ case E_QImode:
load_string = "lbz";
break;
- case HImode:
+ case E_HImode:
load_string = "lhz";
break;
- case SImode:
- case SFmode:
+ case E_SImode:
+ case E_SFmode:
load_string = "lwz";
break;
- case DImode:
- case DFmode:
+ case E_DImode:
+ case E_DFmode:
if (!TARGET_POWERPC64)
gcc_unreachable ();
load_string = "ld";
@@ -41588,18 +41588,18 @@ emit_fusion_p9_store (rtx mem, rtx reg, rtx tmp_reg)
{
switch (mode)
{
- case QImode:
+ case E_QImode:
store_string = "stb";
break;
- case HImode:
+ case E_HImode:
store_string = "sth";
break;
- case SImode:
- case SFmode:
+ case E_SImode:
+ case E_SFmode:
store_string = "stw";
break;
- case DImode:
- case DFmode:
+ case E_DImode:
+ case E_DFmode:
if (!TARGET_POWERPC64)
gcc_unreachable ();
store_string = "std";