[2/77] Add an E_ prefix to case statements

All case statements need to be updated to use the prefixed names,
since the unprefixed names will eventually not be integer constant
expressions.  This patch does a mechanical substitution over the whole
codebase.

2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

gcc/
	* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_std_type):
	Prefix mode names with E_ in case statements.
	* config/aarch64/aarch64-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	* config/aarch64/aarch64.c (aarch64_split_simd_combine): Likewise.
	(aarch64_split_simd_move): Likewise.
	(aarch64_gen_storewb_pair): Likewise.
	(aarch64_gen_loadwb_pair): Likewise.
	(aarch64_gen_store_pair): Likewise.
	(aarch64_gen_load_pair): Likewise.
	(aarch64_get_condition_code_1): Likewise.
	(aarch64_constant_pool_reload_icode): Likewise.
	(get_rsqrte_type): Likewise.
	(get_rsqrts_type): Likewise.
	(get_recpe_type): Likewise.
	(get_recps_type): Likewise.
	(aarch64_gimplify_va_arg_expr): Likewise.
	(aarch64_simd_container_mode): Likewise.
	(aarch64_emit_load_exclusive): Likewise.
	(aarch64_emit_store_exclusive): Likewise.
	(aarch64_expand_compare_and_swap): Likewise.
	(aarch64_gen_atomic_cas): Likewise.
	(aarch64_emit_bic): Likewise.
	(aarch64_emit_atomic_swap): Likewise.
	(aarch64_emit_atomic_load_op): Likewise.
	(aarch64_evpc_trn): Likewise.
	(aarch64_evpc_uzp): Likewise.
	(aarch64_evpc_zip): Likewise.
	(aarch64_evpc_ext): Likewise.
	(aarch64_evpc_rev): Likewise.
	(aarch64_evpc_dup): Likewise.
	(aarch64_gen_ccmp_first): Likewise.
	(aarch64_gen_ccmp_next): Likewise.
	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): Likewise.
	(alpha_emit_xfloating_libcall): Likewise.
	(emit_insxl): Likewise.
	(alpha_arg_type): Likewise.
	* config/arc/arc.c (arc_vector_mode_supported_p): Likewise.
	(arc_preferred_simd_mode): Likewise.
	(arc_secondary_reload): Likewise.
	(get_arc_condition_code): Likewise.
	(arc_print_operand): Likewise.
	(arc_legitimate_constant_p): Likewise.
	* config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	* config/arc/arc.md (casesi_load): Likewise.
	(casesi_compact_jump): Likewise.
	* config/arc/predicates.md (proper_comparison_operator): Likewise.
	(cc_use_register): Likewise.
	* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	* config/arm/arm-builtins.c (arm_simd_builtin_std_type): Likewise.
	(arm_init_iwmmxt_builtins): Likewise.
	* config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
	(neon_expand_vector_init): Likewise.
	(arm_attr_length_move_neon): Likewise.
	(maybe_get_arm_condition_code): Likewise.
	(arm_emit_vector_const): Likewise.
	(arm_preferred_simd_mode): Likewise.
	(arm_output_iwmmxt_tinsr): Likewise.
	(thumb1_output_casesi): Likewise.
	(thumb2_output_casesi): Likewise.
	(arm_emit_load_exclusive): Likewise.
	(arm_emit_store_exclusive): Likewise.
	(arm_expand_compare_and_swap): Likewise.
	(arm_evpc_neon_vuzp): Likewise.
	(arm_evpc_neon_vzip): Likewise.
	(arm_evpc_neon_vrev): Likewise.
	(arm_evpc_neon_vtrn): Likewise.
	(arm_evpc_neon_vext): Likewise.
	(arm_validize_comparison): Likewise.
	* config/arm/neon.md (neon_vc<cmp_op><mode>): Likewise.
	* config/avr/avr-c.c (avr_resolve_overloaded_builtin): Likewise.
	* config/avr/avr.c (avr_rtx_costs_1): Likewise.
	* config/c6x/c6x.c (c6x_vector_mode_supported_p): Likewise.
	(c6x_preferred_simd_mode): Likewise.
	* config/epiphany/epiphany.c (get_epiphany_condition_code): Likewise.
	(epiphany_rtx_costs): Likewise.
	* config/epiphany/predicates.md (proper_comparison_operator):
	Likewise.
	* config/frv/frv.c (condexec_memory_operand): Likewise.
	(frv_emit_move): Likewise.
	(output_move_single): Likewise.
	(output_condmove_single): Likewise.
	(frv_hard_regno_mode_ok): Likewise.
	(frv_matching_accg_mode): Likewise.
	* config/h8300/h8300.c (split_adds_subs): Likewise.
	(h8300_rtx_costs): Likewise.
	(h8300_print_operand): Likewise.
	(compute_mov_length): Likewise.
	(output_logical_op): Likewise.
	(compute_logical_op_length): Likewise.
	(compute_logical_op_cc): Likewise.
	(h8300_shift_needs_scratch_p): Likewise.
	(output_a_shift): Likewise.
	(compute_a_shift_length): Likewise.
	(compute_a_shift_cc): Likewise.
	(expand_a_rotate): Likewise.
	(output_a_rotate): Likewise.
	* config/i386/i386.c (classify_argument): Likewise.
	(function_arg_advance_32): Likewise.
	(function_arg_32): Likewise.
	(function_arg_64): Likewise.
	(function_value_64): Likewise.
	(ix86_gimplify_va_arg): Likewise.
	(ix86_legitimate_constant_p): Likewise.
	(put_condition_code): Likewise.
	(split_double_mode): Likewise.
	(ix86_avx256_split_vector_move_misalign): Likewise.
	(ix86_expand_vector_logical_operator): Likewise.
	(ix86_split_idivmod): Likewise.
	(ix86_expand_adjust_ufix_to_sfix_si): Likewise.
	(ix86_build_const_vector): Likewise.
	(ix86_build_signbit_mask): Likewise.
	(ix86_match_ccmode): Likewise.
	(ix86_cc_modes_compatible): Likewise.
	(ix86_expand_branch): Likewise.
	(ix86_expand_sse_cmp): Likewise.
	(ix86_expand_sse_movcc): Likewise.
	(ix86_expand_int_sse_cmp): Likewise.
	(ix86_expand_vec_perm_vpermi2): Likewise.
	(ix86_expand_vec_perm): Likewise.
	(ix86_expand_sse_unpack): Likewise.
	(ix86_expand_int_addcc): Likewise.
	(ix86_split_to_parts): Likewise.
	(ix86_vectorize_builtin_gather): Likewise.
	(ix86_vectorize_builtin_scatter): Likewise.
	(avx_vpermilp_parallel): Likewise.
	(inline_memory_move_cost): Likewise.
	(ix86_tieable_integer_mode_p): Likewise.
	(x86_maybe_negate_const_int): Likewise.
	(ix86_expand_vector_init_duplicate): Likewise.
	(ix86_expand_vector_init_one_nonzero): Likewise.
	(ix86_expand_vector_init_one_var): Likewise.
	(ix86_expand_vector_init_concat): Likewise.
	(ix86_expand_vector_init_interleave): Likewise.
	(ix86_expand_vector_init_general): Likewise.
	(ix86_expand_vector_set): Likewise.
	(ix86_expand_vector_extract): Likewise.
	(emit_reduc_half): Likewise.
	(ix86_emit_i387_round): Likewise.
	(ix86_mangle_type): Likewise.
	(ix86_expand_round_sse4): Likewise.
	(expand_vec_perm_blend): Likewise.
	(canonicalize_vector_int_perm): Likewise.
	(ix86_expand_vec_one_operand_perm_avx512): Likewise.
	(expand_vec_perm_1): Likewise.
	(expand_vec_perm_interleave3): Likewise.
	(expand_vec_perm_even_odd_pack): Likewise.
	(expand_vec_perm_even_odd_1): Likewise.
	(expand_vec_perm_broadcast_1): Likewise.
	(ix86_vectorize_vec_perm_const_ok): Likewise.
	(ix86_expand_vecop_qihi): Likewise.
	(ix86_expand_mul_widen_hilo): Likewise.
	(ix86_expand_sse2_abs): Likewise.
	(ix86_expand_pextr): Likewise.
	(ix86_expand_pinsr): Likewise.
	(ix86_preferred_simd_mode): Likewise.
	(ix86_simd_clone_compute_vecsize_and_simdlen): Likewise.
	* config/i386/sse.md (*andnot<mode>3): Likewise.
	(<mask_codefor><code><mode>3<mask_name>): Likewise.
	(*<code><mode>3): Likewise.
	* config/ia64/ia64.c (ia64_expand_vecint_compare): Likewise.
	(ia64_expand_atomic_op): Likewise.
	(ia64_arg_type): Likewise.
	(ia64_mode_to_int): Likewise.
	(ia64_scalar_mode_supported_p): Likewise.
	(ia64_vector_mode_supported_p): Likewise.
	(expand_vec_perm_broadcast): Likewise.
	* config/iq2000/iq2000.c (iq2000_move_1word): Likewise.
	(iq2000_function_arg_advance): Likewise.
	(iq2000_function_arg): Likewise.
	* config/m32c/m32c.c (m32c_preferred_reload_class): Likewise.
	* config/m68k/m68k.c (output_dbcc_and_branch): Likewise.
	(m68k_libcall_value): Likewise.
	(m68k_function_value): Likewise.
	(sched_attr_op_type): Likewise.
	* config/mcore/mcore.c (mcore_output_move): Likewise.
	* config/microblaze/microblaze.c (microblaze_function_arg_advance):
	Likewise.
	(microblaze_function_arg): Likewise.
	* config/mips/mips.c (mips16_build_call_stub): Likewise.
	(mips_print_operand): Likewise.
	(mips_mode_ok_for_mov_fmt_p): Likewise.
	(mips_vector_mode_supported_p): Likewise.
	(mips_preferred_simd_mode): Likewise.
	(mips_expand_vpc_loongson_even_odd): Likewise.
	(mips_expand_vec_unpack): Likewise.
	(mips_expand_vi_broadcast): Likewise.
	(mips_expand_vector_init): Likewise.
	(mips_expand_vec_reduc): Likewise.
	(mips_expand_msa_cmp): Likewise.
	* config/mips/mips.md (casesi_internal_mips16_<mode>): Likewise.
	* config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
	(cc_flags_for_mode): Likewise.
	* config/msp430/msp430.c (msp430_print_operand): Likewise.
	* config/nds32/nds32-md-auxiliary.c (nds32_mem_format): Likewise.
	(nds32_output_casesi_pc_relative): Likewise.
	* config/nds32/nds32.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Likewise.
	(nvptx_gen_unpack): Likewise.
	(nvptx_gen_pack): Likewise.
	(nvptx_gen_shuffle): Likewise.
	(nvptx_gen_wcast): Likewise.
	(nvptx_preferred_simd_mode): Likewise.
	* config/pa/pa.c (pa_secondary_reload): Likewise.
	* config/pa/predicates.md (base14_operand): Likewise.
	* config/powerpcspe/powerpcspe-c.c
	(altivec_resolve_overloaded_builtin): Likewise.
	* config/powerpcspe/powerpcspe.c (rs6000_setup_reg_addr_masks):
	Likewise.
	(rs6000_preferred_simd_mode): Likewise.
	(output_vec_const_move): Likewise.
	(rs6000_expand_vector_extract): Likewise.
	(rs6000_split_vec_extract_var): Likewise.
	(reg_offset_addressing_ok_p): Likewise.
	(rs6000_legitimate_offset_address_p): Likewise.
	(rs6000_legitimize_address): Likewise.
	(rs6000_emit_set_const): Likewise.
	(rs6000_const_vec): Likewise.
	(rs6000_emit_move): Likewise.
	(spe_build_register_parallel): Likewise.
	(rs6000_darwin64_record_arg_recurse): Likewise.
	(swap_selector_for_mode): Likewise.
	(spe_init_builtins): Likewise.
	(paired_init_builtins): Likewise.
	(altivec_init_builtins): Likewise.
	(do_load_for_compare): Likewise.
	(rs6000_generate_compare): Likewise.
	(rs6000_expand_float128_convert): Likewise.
	(emit_load_locked): Likewise.
	(emit_store_conditional): Likewise.
	(rs6000_output_function_epilogue): Likewise.
	(rs6000_handle_altivec_attribute): Likewise.
	(rs6000_function_value): Likewise.
	(emit_fusion_gpr_load): Likewise.
	(emit_fusion_p9_load): Likewise.
	(emit_fusion_p9_store): Likewise.
	* config/powerpcspe/predicates.md (easy_fp_constant): Likewise.
	(fusion_gpr_mem_load): Likewise.
	(fusion_addis_mem_combo_load): Likewise.
	(fusion_addis_mem_combo_store): Likewise.
	* config/rs6000/predicates.md (easy_fp_constant): Likewise.
	(fusion_gpr_mem_load): Likewise.
	(fusion_addis_mem_combo_load): Likewise.
	(fusion_addis_mem_combo_store): Likewise.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
	Likewise.
	* config/rs6000/rs6000-string.c (do_load_for_compare): Likewise.
	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
	(rs6000_preferred_simd_mode): Likewise.
	(output_vec_const_move): Likewise.
	(rs6000_expand_vector_extract): Likewise.
	(rs6000_split_vec_extract_var): Likewise.
	(reg_offset_addressing_ok_p): Likewise.
	(rs6000_legitimate_offset_address_p): Likewise.
	(rs6000_legitimize_address): Likewise.
	(rs6000_emit_set_const): Likewise.
	(rs6000_const_vec): Likewise.
	(rs6000_emit_move): Likewise.
	(rs6000_darwin64_record_arg_recurse): Likewise.
	(swap_selector_for_mode): Likewise.
	(paired_init_builtins): Likewise.
	(altivec_init_builtins): Likewise.
	(rs6000_expand_float128_convert): Likewise.
	(emit_load_locked): Likewise.
	(emit_store_conditional): Likewise.
	(rs6000_output_function_epilogue): Likewise.
	(rs6000_handle_altivec_attribute): Likewise.
	(rs6000_function_value): Likewise.
	(emit_fusion_gpr_load): Likewise.
	(emit_fusion_p9_load): Likewise.
	(emit_fusion_p9_store): Likewise.
	* config/rx/rx.c (rx_gen_move_template): Likewise.
	(flags_from_mode): Likewise.
	* config/s390/predicates.md (s390_alc_comparison): Likewise.
	(s390_slb_comparison): Likewise.
	* config/s390/s390.c (s390_handle_vectorbool_attribute): Likewise.
	(s390_vector_mode_supported_p): Likewise.
	(s390_cc_modes_compatible): Likewise.
	(s390_match_ccmode_set): Likewise.
	(s390_canonicalize_comparison): Likewise.
	(s390_emit_compare_and_swap): Likewise.
	(s390_branch_condition_mask): Likewise.
	(s390_rtx_costs): Likewise.
	(s390_secondary_reload): Likewise.
	(__SECONDARY_RELOAD_CASE): Likewise.
	(s390_expand_cs): Likewise.
	(s390_preferred_simd_mode): Likewise.
	* config/s390/vx-builtins.md (vec_packsu_u<mode>): Likewise.
	* config/sh/sh.c (sh_print_operand): Likewise.
	(dump_table): Likewise.
	(sh_secondary_reload): Likewise.
	* config/sh/sh.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	* config/sh/sh.md (casesi_worker_1): Likewise.
	(casesi_worker_2): Likewise.
	* config/sparc/predicates.md (icc_comparison_operator): Likewise.
	(fcc_comparison_operator): Likewise.
	* config/sparc/sparc.c (sparc_expand_move): Likewise.
	(emit_soft_tfmode_cvt): Likewise.
	(sparc_preferred_simd_mode): Likewise.
	(output_cbranch): Likewise.
	(sparc_print_operand): Likewise.
	(sparc_expand_vec_perm_bmask): Likewise.
	(vector_init_bshuffle): Likewise.
	* config/spu/spu.c (spu_scalar_mode_supported_p): Likewise.
	(spu_vector_mode_supported_p): Likewise.
	(spu_expand_insv): Likewise.
	(spu_emit_branch_or_set): Likewise.
	(spu_handle_vector_attribute): Likewise.
	(spu_builtin_splats): Likewise.
	(spu_builtin_extract): Likewise.
	(spu_builtin_promote): Likewise.
	(spu_expand_sign_extend): Likewise.
	* config/tilegx/tilegx.c (tilegx_scalar_mode_supported_p): Likewise.
	(tilegx_simd_int): Likewise.
	* config/tilepro/tilepro.c (tilepro_scalar_mode_supported_p): Likewise.
	(tilepro_simd_int): Likewise.
	* config/v850/v850.c (const_double_split): Likewise.
	(v850_print_operand): Likewise.
	(ep_memory_offset): Likewise.
	* config/vax/vax.c (vax_rtx_costs): Likewise.
	(vax_output_int_move): Likewise.
	(vax_output_int_add): Likewise.
	(vax_output_int_subtract): Likewise.
	* config/visium/predicates.md (visium_branch_operator): Likewise.
	* config/visium/visium.c (rtx_ok_for_offset_p): Likewise.
	(visium_print_operand_address): Likewise.
	* config/visium/visium.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	* config/xtensa/xtensa.c (xtensa_mem_offset): Likewise.
	(xtensa_expand_conditional_branch): Likewise.
	(xtensa_copy_incoming_a7): Likewise.
	(xtensa_output_literal): Likewise.
	* dfp.c (decimal_real_maxval): Likewise.
	* targhooks.c (default_libgcc_floating_mode_supported_p): Likewise.

gcc/c-family/
	* c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
	case statements.

gcc/objc/
	* objc-encoding.c (encode_gnu_bitfield): Prefix mode names with E_ in
	case statements.

libobjc/
	* encoding.c (_darwin_rs6000_special_round_type_align): Prefix mode
	names with E_ in case statements.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>

From-SVN: r251453
This commit is contained in:
Richard Sandiford 2017-08-30 11:08:28 +00:00 committed by Richard Sandiford
parent 0d4a1197ba
commit 4e10a5a74b
70 changed files with 2991 additions and 2624 deletions

View file

@ -1,3 +1,340 @@
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
* config/aarch64/aarch64-builtins.c (aarch64_simd_builtin_std_type):
Prefix mode names with E_ in case statements.
* config/aarch64/aarch64-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/aarch64/aarch64.c (aarch64_split_simd_combine): Likewise.
(aarch64_split_simd_move): Likewise.
(aarch64_gen_storewb_pair): Likewise.
(aarch64_gen_loadwb_pair): Likewise.
(aarch64_gen_store_pair): Likewise.
(aarch64_gen_load_pair): Likewise.
(aarch64_get_condition_code_1): Likewise.
(aarch64_constant_pool_reload_icode): Likewise.
(get_rsqrte_type): Likewise.
(get_rsqrts_type): Likewise.
(get_recpe_type): Likewise.
(get_recps_type): Likewise.
(aarch64_gimplify_va_arg_expr): Likewise.
(aarch64_simd_container_mode): Likewise.
(aarch64_emit_load_exclusive): Likewise.
(aarch64_emit_store_exclusive): Likewise.
(aarch64_expand_compare_and_swap): Likewise.
(aarch64_gen_atomic_cas): Likewise.
(aarch64_emit_bic): Likewise.
(aarch64_emit_atomic_swap): Likewise.
(aarch64_emit_atomic_load_op): Likewise.
(aarch64_evpc_trn): Likewise.
(aarch64_evpc_uzp): Likewise.
(aarch64_evpc_zip): Likewise.
(aarch64_evpc_ext): Likewise.
(aarch64_evpc_rev): Likewise.
(aarch64_evpc_dup): Likewise.
(aarch64_gen_ccmp_first): Likewise.
(aarch64_gen_ccmp_next): Likewise.
* config/alpha/alpha.c (alpha_scalar_mode_supported_p): Likewise.
(alpha_emit_xfloating_libcall): Likewise.
(emit_insxl): Likewise.
(alpha_arg_type): Likewise.
* config/arc/arc.c (arc_vector_mode_supported_p): Likewise.
(arc_preferred_simd_mode): Likewise.
(arc_secondary_reload): Likewise.
(get_arc_condition_code): Likewise.
(arc_print_operand): Likewise.
(arc_legitimate_constant_p): Likewise.
* config/arc/arc.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/arc/arc.md (casesi_load): Likewise.
(casesi_compact_jump): Likewise.
* config/arc/predicates.md (proper_comparison_operator): Likewise.
(cc_use_register): Likewise.
* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/arm/arm-builtins.c (arm_simd_builtin_std_type): Likewise.
(arm_init_iwmmxt_builtins): Likewise.
* config/arm/arm.c (thumb1_size_rtx_costs): Likewise.
(neon_expand_vector_init): Likewise.
(arm_attr_length_move_neon): Likewise.
(maybe_get_arm_condition_code): Likewise.
(arm_emit_vector_const): Likewise.
(arm_preferred_simd_mode): Likewise.
(arm_output_iwmmxt_tinsr): Likewise.
(thumb1_output_casesi): Likewise.
(thumb2_output_casesi): Likewise.
(arm_emit_load_exclusive): Likewise.
(arm_emit_store_exclusive): Likewise.
(arm_expand_compare_and_swap): Likewise.
(arm_evpc_neon_vuzp): Likewise.
(arm_evpc_neon_vzip): Likewise.
(arm_evpc_neon_vrev): Likewise.
(arm_evpc_neon_vtrn): Likewise.
(arm_evpc_neon_vext): Likewise.
(arm_validize_comparison): Likewise.
* config/arm/neon.md (neon_vc<cmp_op><mode>): Likewise.
* config/avr/avr-c.c (avr_resolve_overloaded_builtin): Likewise.
* config/avr/avr.c (avr_rtx_costs_1): Likewise.
* config/c6x/c6x.c (c6x_vector_mode_supported_p): Likewise.
(c6x_preferred_simd_mode): Likewise.
* config/epiphany/epiphany.c (get_epiphany_condition_code): Likewise.
(epiphany_rtx_costs): Likewise.
* config/epiphany/predicates.md (proper_comparison_operator):
Likewise.
* config/frv/frv.c (condexec_memory_operand): Likewise.
(frv_emit_move): Likewise.
(output_move_single): Likewise.
(output_condmove_single): Likewise.
(frv_hard_regno_mode_ok): Likewise.
(frv_matching_accg_mode): Likewise.
* config/h8300/h8300.c (split_adds_subs): Likewise.
(h8300_rtx_costs): Likewise.
(h8300_print_operand): Likewise.
(compute_mov_length): Likewise.
(output_logical_op): Likewise.
(compute_logical_op_length): Likewise.
(compute_logical_op_cc): Likewise.
(h8300_shift_needs_scratch_p): Likewise.
(output_a_shift): Likewise.
(compute_a_shift_length): Likewise.
(compute_a_shift_cc): Likewise.
(expand_a_rotate): Likewise.
(output_a_rotate): Likewise.
* config/i386/i386.c (classify_argument): Likewise.
(function_arg_advance_32): Likewise.
(function_arg_32): Likewise.
(function_arg_64): Likewise.
(function_value_64): Likewise.
(ix86_gimplify_va_arg): Likewise.
(ix86_legitimate_constant_p): Likewise.
(put_condition_code): Likewise.
(split_double_mode): Likewise.
(ix86_avx256_split_vector_move_misalign): Likewise.
(ix86_expand_vector_logical_operator): Likewise.
(ix86_split_idivmod): Likewise.
(ix86_expand_adjust_ufix_to_sfix_si): Likewise.
(ix86_build_const_vector): Likewise.
(ix86_build_signbit_mask): Likewise.
(ix86_match_ccmode): Likewise.
(ix86_cc_modes_compatible): Likewise.
(ix86_expand_branch): Likewise.
(ix86_expand_sse_cmp): Likewise.
(ix86_expand_sse_movcc): Likewise.
(ix86_expand_int_sse_cmp): Likewise.
(ix86_expand_vec_perm_vpermi2): Likewise.
(ix86_expand_vec_perm): Likewise.
(ix86_expand_sse_unpack): Likewise.
(ix86_expand_int_addcc): Likewise.
(ix86_split_to_parts): Likewise.
(ix86_vectorize_builtin_gather): Likewise.
(ix86_vectorize_builtin_scatter): Likewise.
(avx_vpermilp_parallel): Likewise.
(inline_memory_move_cost): Likewise.
(ix86_tieable_integer_mode_p): Likewise.
(x86_maybe_negate_const_int): Likewise.
(ix86_expand_vector_init_duplicate): Likewise.
(ix86_expand_vector_init_one_nonzero): Likewise.
(ix86_expand_vector_init_one_var): Likewise.
(ix86_expand_vector_init_concat): Likewise.
(ix86_expand_vector_init_interleave): Likewise.
(ix86_expand_vector_init_general): Likewise.
(ix86_expand_vector_set): Likewise.
(ix86_expand_vector_extract): Likewise.
(emit_reduc_half): Likewise.
(ix86_emit_i387_round): Likewise.
(ix86_mangle_type): Likewise.
(ix86_expand_round_sse4): Likewise.
(expand_vec_perm_blend): Likewise.
(canonicalize_vector_int_perm): Likewise.
(ix86_expand_vec_one_operand_perm_avx512): Likewise.
(expand_vec_perm_1): Likewise.
(expand_vec_perm_interleave3): Likewise.
(expand_vec_perm_even_odd_pack): Likewise.
(expand_vec_perm_even_odd_1): Likewise.
(expand_vec_perm_broadcast_1): Likewise.
(ix86_vectorize_vec_perm_const_ok): Likewise.
(ix86_expand_vecop_qihi): Likewise.
(ix86_expand_mul_widen_hilo): Likewise.
(ix86_expand_sse2_abs): Likewise.
(ix86_expand_pextr): Likewise.
(ix86_expand_pinsr): Likewise.
(ix86_preferred_simd_mode): Likewise.
(ix86_simd_clone_compute_vecsize_and_simdlen): Likewise.
* config/i386/sse.md (*andnot<mode>3): Likewise.
(<mask_codefor><code><mode>3<mask_name>): Likewise.
(*<code><mode>3): Likewise.
* config/ia64/ia64.c (ia64_expand_vecint_compare): Likewise.
(ia64_expand_atomic_op): Likewise.
(ia64_arg_type): Likewise.
(ia64_mode_to_int): Likewise.
(ia64_scalar_mode_supported_p): Likewise.
(ia64_vector_mode_supported_p): Likewise.
(expand_vec_perm_broadcast): Likewise.
* config/iq2000/iq2000.c (iq2000_move_1word): Likewise.
(iq2000_function_arg_advance): Likewise.
(iq2000_function_arg): Likewise.
* config/m32c/m32c.c (m32c_preferred_reload_class): Likewise.
* config/m68k/m68k.c (output_dbcc_and_branch): Likewise.
(m68k_libcall_value): Likewise.
(m68k_function_value): Likewise.
(sched_attr_op_type): Likewise.
* config/mcore/mcore.c (mcore_output_move): Likewise.
* config/microblaze/microblaze.c (microblaze_function_arg_advance):
Likewise.
(microblaze_function_arg): Likewise.
* config/mips/mips.c (mips16_build_call_stub): Likewise.
(mips_print_operand): Likewise.
(mips_mode_ok_for_mov_fmt_p): Likewise.
(mips_vector_mode_supported_p): Likewise.
(mips_preferred_simd_mode): Likewise.
(mips_expand_vpc_loongson_even_odd): Likewise.
(mips_expand_vec_unpack): Likewise.
(mips_expand_vi_broadcast): Likewise.
(mips_expand_vector_init): Likewise.
(mips_expand_vec_reduc): Likewise.
(mips_expand_msa_cmp): Likewise.
* config/mips/mips.md (casesi_internal_mips16_<mode>): Likewise.
* config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
(cc_flags_for_mode): Likewise.
* config/msp430/msp430.c (msp430_print_operand): Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_mem_format): Likewise.
(nds32_output_casesi_pc_relative): Likewise.
* config/nds32/nds32.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/nvptx/nvptx.c (nvptx_ptx_type_from_mode): Likewise.
(nvptx_gen_unpack): Likewise.
(nvptx_gen_pack): Likewise.
(nvptx_gen_shuffle): Likewise.
(nvptx_gen_wcast): Likewise.
(nvptx_preferred_simd_mode): Likewise.
* config/pa/pa.c (pa_secondary_reload): Likewise.
* config/pa/predicates.md (base14_operand): Likewise.
* config/powerpcspe/powerpcspe-c.c
(altivec_resolve_overloaded_builtin): Likewise.
* config/powerpcspe/powerpcspe.c (rs6000_setup_reg_addr_masks):
Likewise.
(rs6000_preferred_simd_mode): Likewise.
(output_vec_const_move): Likewise.
(rs6000_expand_vector_extract): Likewise.
(rs6000_split_vec_extract_var): Likewise.
(reg_offset_addressing_ok_p): Likewise.
(rs6000_legitimate_offset_address_p): Likewise.
(rs6000_legitimize_address): Likewise.
(rs6000_emit_set_const): Likewise.
(rs6000_const_vec): Likewise.
(rs6000_emit_move): Likewise.
(spe_build_register_parallel): Likewise.
(rs6000_darwin64_record_arg_recurse): Likewise.
(swap_selector_for_mode): Likewise.
(spe_init_builtins): Likewise.
(paired_init_builtins): Likewise.
(altivec_init_builtins): Likewise.
(do_load_for_compare): Likewise.
(rs6000_generate_compare): Likewise.
(rs6000_expand_float128_convert): Likewise.
(emit_load_locked): Likewise.
(emit_store_conditional): Likewise.
(rs6000_output_function_epilogue): Likewise.
(rs6000_handle_altivec_attribute): Likewise.
(rs6000_function_value): Likewise.
(emit_fusion_gpr_load): Likewise.
(emit_fusion_p9_load): Likewise.
(emit_fusion_p9_store): Likewise.
* config/powerpcspe/predicates.md (easy_fp_constant): Likewise.
(fusion_gpr_mem_load): Likewise.
(fusion_addis_mem_combo_load): Likewise.
(fusion_addis_mem_combo_store): Likewise.
* config/rs6000/predicates.md (easy_fp_constant): Likewise.
(fusion_gpr_mem_load): Likewise.
(fusion_addis_mem_combo_load): Likewise.
(fusion_addis_mem_combo_store): Likewise.
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Likewise.
* config/rs6000/rs6000-string.c (do_load_for_compare): Likewise.
* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Likewise.
(rs6000_preferred_simd_mode): Likewise.
(output_vec_const_move): Likewise.
(rs6000_expand_vector_extract): Likewise.
(rs6000_split_vec_extract_var): Likewise.
(reg_offset_addressing_ok_p): Likewise.
(rs6000_legitimate_offset_address_p): Likewise.
(rs6000_legitimize_address): Likewise.
(rs6000_emit_set_const): Likewise.
(rs6000_const_vec): Likewise.
(rs6000_emit_move): Likewise.
(rs6000_darwin64_record_arg_recurse): Likewise.
(swap_selector_for_mode): Likewise.
(paired_init_builtins): Likewise.
(altivec_init_builtins): Likewise.
(rs6000_expand_float128_convert): Likewise.
(emit_load_locked): Likewise.
(emit_store_conditional): Likewise.
(rs6000_output_function_epilogue): Likewise.
(rs6000_handle_altivec_attribute): Likewise.
(rs6000_function_value): Likewise.
(emit_fusion_gpr_load): Likewise.
(emit_fusion_p9_load): Likewise.
(emit_fusion_p9_store): Likewise.
* config/rx/rx.c (rx_gen_move_template): Likewise.
(flags_from_mode): Likewise.
* config/s390/predicates.md (s390_alc_comparison): Likewise.
(s390_slb_comparison): Likewise.
* config/s390/s390.c (s390_handle_vectorbool_attribute): Likewise.
(s390_vector_mode_supported_p): Likewise.
(s390_cc_modes_compatible): Likewise.
(s390_match_ccmode_set): Likewise.
(s390_canonicalize_comparison): Likewise.
(s390_emit_compare_and_swap): Likewise.
(s390_branch_condition_mask): Likewise.
(s390_rtx_costs): Likewise.
(s390_secondary_reload): Likewise.
(__SECONDARY_RELOAD_CASE): Likewise.
(s390_expand_cs): Likewise.
(s390_preferred_simd_mode): Likewise.
* config/s390/vx-builtins.md (vec_packsu_u<mode>): Likewise.
* config/sh/sh.c (sh_print_operand): Likewise.
(dump_table): Likewise.
(sh_secondary_reload): Likewise.
* config/sh/sh.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/sh/sh.md (casesi_worker_1): Likewise.
(casesi_worker_2): Likewise.
* config/sparc/predicates.md (icc_comparison_operator): Likewise.
(fcc_comparison_operator): Likewise.
* config/sparc/sparc.c (sparc_expand_move): Likewise.
(emit_soft_tfmode_cvt): Likewise.
(sparc_preferred_simd_mode): Likewise.
(output_cbranch): Likewise.
(sparc_print_operand): Likewise.
(sparc_expand_vec_perm_bmask): Likewise.
(vector_init_bshuffle): Likewise.
* config/spu/spu.c (spu_scalar_mode_supported_p): Likewise.
(spu_vector_mode_supported_p): Likewise.
(spu_expand_insv): Likewise.
(spu_emit_branch_or_set): Likewise.
(spu_handle_vector_attribute): Likewise.
(spu_builtin_splats): Likewise.
(spu_builtin_extract): Likewise.
(spu_builtin_promote): Likewise.
(spu_expand_sign_extend): Likewise.
* config/tilegx/tilegx.c (tilegx_scalar_mode_supported_p): Likewise.
(tilegx_simd_int): Likewise.
* config/tilepro/tilepro.c (tilepro_scalar_mode_supported_p): Likewise.
(tilepro_simd_int): Likewise.
* config/v850/v850.c (const_double_split): Likewise.
(v850_print_operand): Likewise.
(ep_memory_offset): Likewise.
* config/vax/vax.c (vax_rtx_costs): Likewise.
(vax_output_int_move): Likewise.
(vax_output_int_add): Likewise.
(vax_output_int_subtract): Likewise.
* config/visium/predicates.md (visium_branch_operator): Likewise.
* config/visium/visium.c (rtx_ok_for_offset_p): Likewise.
(visium_print_operand_address): Likewise.
* config/visium/visium.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
* config/xtensa/xtensa.c (xtensa_mem_offset): Likewise.
(xtensa_expand_conditional_branch): Likewise.
(xtensa_copy_incoming_a7): Likewise.
(xtensa_output_literal): Likewise.
* dfp.c (decimal_real_maxval): Likewise.
* targhooks.c (default_libgcc_floating_mode_supported_p): Likewise.
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com> Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com> David Sherwood <david.sherwood@arm.com>

View file

@ -1,3 +1,10 @@
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
* c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
case statements.
2017-08-29 Martin Liska <mliska@suse.cz> 2017-08-29 Martin Liska <mliska@suse.cz>
PR other/39851 PR other/39851

View file

@ -73,22 +73,22 @@ mode_has_fma (machine_mode mode)
switch (mode) switch (mode)
{ {
#ifdef HAVE_fmasf4 #ifdef HAVE_fmasf4
case SFmode: case E_SFmode:
return !!HAVE_fmasf4; return !!HAVE_fmasf4;
#endif #endif
#ifdef HAVE_fmadf4 #ifdef HAVE_fmadf4
case DFmode: case E_DFmode:
return !!HAVE_fmadf4; return !!HAVE_fmadf4;
#endif #endif
#ifdef HAVE_fmaxf4 #ifdef HAVE_fmaxf4
case XFmode: case E_XFmode:
return !!HAVE_fmaxf4; return !!HAVE_fmaxf4;
#endif #endif
#ifdef HAVE_fmatf4 #ifdef HAVE_fmatf4
case TFmode: case E_TFmode:
return !!HAVE_fmatf4; return !!HAVE_fmatf4;
#endif #endif

View file

@ -537,27 +537,27 @@ aarch64_simd_builtin_std_type (machine_mode mode,
((q == qualifier_none) ? int##M##_type_node : unsigned_int##M##_type_node); ((q == qualifier_none) ? int##M##_type_node : unsigned_int##M##_type_node);
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
return QUAL_TYPE (QI); return QUAL_TYPE (QI);
case HImode: case E_HImode:
return QUAL_TYPE (HI); return QUAL_TYPE (HI);
case SImode: case E_SImode:
return QUAL_TYPE (SI); return QUAL_TYPE (SI);
case DImode: case E_DImode:
return QUAL_TYPE (DI); return QUAL_TYPE (DI);
case TImode: case E_TImode:
return QUAL_TYPE (TI); return QUAL_TYPE (TI);
case OImode: case E_OImode:
return aarch64_simd_intOI_type_node; return aarch64_simd_intOI_type_node;
case CImode: case E_CImode:
return aarch64_simd_intCI_type_node; return aarch64_simd_intCI_type_node;
case XImode: case E_XImode:
return aarch64_simd_intXI_type_node; return aarch64_simd_intXI_type_node;
case HFmode: case E_HFmode:
return aarch64_fp16_type_node; return aarch64_fp16_type_node;
case SFmode: case E_SFmode:
return float_type_node; return float_type_node;
case DFmode: case E_DFmode:
return double_type_node; return double_type_node;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -74,16 +74,16 @@
do { \ do { \
switch (GET_MODE (BODY)) \ switch (GET_MODE (BODY)) \
{ \ { \
case QImode: \ case E_QImode: \
asm_fprintf (STREAM, "\t.byte\t(%LL%d - %LLrtx%d) / 4\n", \ asm_fprintf (STREAM, "\t.byte\t(%LL%d - %LLrtx%d) / 4\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \
case HImode: \ case E_HImode: \
asm_fprintf (STREAM, "\t.2byte\t(%LL%d - %LLrtx%d) / 4\n", \ asm_fprintf (STREAM, "\t.2byte\t(%LL%d - %LLrtx%d) / 4\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \
case SImode: \ case E_SImode: \
case DImode: /* See comment in aarch64_output_casesi. */ \ case E_DImode: /* See comment in aarch64_output_casesi. */ \
asm_fprintf (STREAM, "\t.word\t(%LL%d - %LLrtx%d) / 4\n", \ asm_fprintf (STREAM, "\t.word\t(%LL%d - %LLrtx%d) / 4\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \

View file

@ -1698,25 +1698,25 @@ aarch64_split_simd_combine (rtx dst, rtx src1, rtx src2)
switch (src_mode) switch (src_mode)
{ {
case V8QImode: case E_V8QImode:
gen = gen_aarch64_simd_combinev8qi; gen = gen_aarch64_simd_combinev8qi;
break; break;
case V4HImode: case E_V4HImode:
gen = gen_aarch64_simd_combinev4hi; gen = gen_aarch64_simd_combinev4hi;
break; break;
case V2SImode: case E_V2SImode:
gen = gen_aarch64_simd_combinev2si; gen = gen_aarch64_simd_combinev2si;
break; break;
case V4HFmode: case E_V4HFmode:
gen = gen_aarch64_simd_combinev4hf; gen = gen_aarch64_simd_combinev4hf;
break; break;
case V2SFmode: case E_V2SFmode:
gen = gen_aarch64_simd_combinev2sf; gen = gen_aarch64_simd_combinev2sf;
break; break;
case DImode: case E_DImode:
gen = gen_aarch64_simd_combinedi; gen = gen_aarch64_simd_combinedi;
break; break;
case DFmode: case E_DFmode:
gen = gen_aarch64_simd_combinedf; gen = gen_aarch64_simd_combinedf;
break; break;
default: default:
@ -1745,25 +1745,25 @@ aarch64_split_simd_move (rtx dst, rtx src)
switch (src_mode) switch (src_mode)
{ {
case V16QImode: case E_V16QImode:
gen = gen_aarch64_split_simd_movv16qi; gen = gen_aarch64_split_simd_movv16qi;
break; break;
case V8HImode: case E_V8HImode:
gen = gen_aarch64_split_simd_movv8hi; gen = gen_aarch64_split_simd_movv8hi;
break; break;
case V4SImode: case E_V4SImode:
gen = gen_aarch64_split_simd_movv4si; gen = gen_aarch64_split_simd_movv4si;
break; break;
case V2DImode: case E_V2DImode:
gen = gen_aarch64_split_simd_movv2di; gen = gen_aarch64_split_simd_movv2di;
break; break;
case V8HFmode: case E_V8HFmode:
gen = gen_aarch64_split_simd_movv8hf; gen = gen_aarch64_split_simd_movv8hf;
break; break;
case V4SFmode: case E_V4SFmode:
gen = gen_aarch64_split_simd_movv4sf; gen = gen_aarch64_split_simd_movv4sf;
break; break;
case V2DFmode: case E_V2DFmode:
gen = gen_aarch64_split_simd_movv2df; gen = gen_aarch64_split_simd_movv2df;
break; break;
default: default:
@ -3086,11 +3086,11 @@ aarch64_gen_storewb_pair (machine_mode mode, rtx base, rtx reg, rtx reg2,
{ {
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
return gen_storewb_pairdi_di (base, base, reg, reg2, return gen_storewb_pairdi_di (base, base, reg, reg2,
GEN_INT (-adjustment), GEN_INT (-adjustment),
GEN_INT (UNITS_PER_WORD - adjustment)); GEN_INT (UNITS_PER_WORD - adjustment));
case DFmode: case E_DFmode:
return gen_storewb_pairdf_di (base, base, reg, reg2, return gen_storewb_pairdf_di (base, base, reg, reg2,
GEN_INT (-adjustment), GEN_INT (-adjustment),
GEN_INT (UNITS_PER_WORD - adjustment)); GEN_INT (UNITS_PER_WORD - adjustment));
@ -3130,10 +3130,10 @@ aarch64_gen_loadwb_pair (machine_mode mode, rtx base, rtx reg, rtx reg2,
{ {
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
return gen_loadwb_pairdi_di (base, base, reg, reg2, GEN_INT (adjustment), return gen_loadwb_pairdi_di (base, base, reg, reg2, GEN_INT (adjustment),
GEN_INT (UNITS_PER_WORD)); GEN_INT (UNITS_PER_WORD));
case DFmode: case E_DFmode:
return gen_loadwb_pairdf_di (base, base, reg, reg2, GEN_INT (adjustment), return gen_loadwb_pairdf_di (base, base, reg, reg2, GEN_INT (adjustment),
GEN_INT (UNITS_PER_WORD)); GEN_INT (UNITS_PER_WORD));
default: default:
@ -3178,10 +3178,10 @@ aarch64_gen_store_pair (machine_mode mode, rtx mem1, rtx reg1, rtx mem2,
{ {
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
return gen_store_pairdi (mem1, reg1, mem2, reg2); return gen_store_pairdi (mem1, reg1, mem2, reg2);
case DFmode: case E_DFmode:
return gen_store_pairdf (mem1, reg1, mem2, reg2); return gen_store_pairdf (mem1, reg1, mem2, reg2);
default: default:
@ -3198,10 +3198,10 @@ aarch64_gen_load_pair (machine_mode mode, rtx reg1, rtx mem1, rtx reg2,
{ {
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
return gen_load_pairdi (reg1, mem1, reg2, mem2); return gen_load_pairdi (reg1, mem1, reg2, mem2);
case DFmode: case E_DFmode:
return gen_load_pairdf (reg1, mem1, reg2, mem2); return gen_load_pairdf (reg1, mem1, reg2, mem2);
default: default:
@ -4994,8 +4994,8 @@ aarch64_get_condition_code_1 (machine_mode mode, enum rtx_code comp_code)
{ {
switch (mode) switch (mode)
{ {
case CCFPmode: case E_CCFPmode:
case CCFPEmode: case E_CCFPEmode:
switch (comp_code) switch (comp_code)
{ {
case GE: return AARCH64_GE; case GE: return AARCH64_GE;
@ -5014,7 +5014,7 @@ aarch64_get_condition_code_1 (machine_mode mode, enum rtx_code comp_code)
} }
break; break;
case CCmode: case E_CCmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return AARCH64_NE; case NE: return AARCH64_NE;
@ -5031,7 +5031,7 @@ aarch64_get_condition_code_1 (machine_mode mode, enum rtx_code comp_code)
} }
break; break;
case CC_SWPmode: case E_CC_SWPmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return AARCH64_NE; case NE: return AARCH64_NE;
@ -5048,7 +5048,7 @@ aarch64_get_condition_code_1 (machine_mode mode, enum rtx_code comp_code)
} }
break; break;
case CC_NZmode: case E_CC_NZmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return AARCH64_NE; case NE: return AARCH64_NE;
@ -5059,7 +5059,7 @@ aarch64_get_condition_code_1 (machine_mode mode, enum rtx_code comp_code)
} }
break; break;
case CC_Zmode: case E_CC_Zmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return AARCH64_NE; case NE: return AARCH64_NE;
@ -5068,7 +5068,7 @@ aarch64_get_condition_code_1 (machine_mode mode, enum rtx_code comp_code)
} }
break; break;
case CC_Cmode: case E_CC_Cmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return AARCH64_CS; case NE: return AARCH64_CS;
@ -5776,37 +5776,37 @@ aarch64_constant_pool_reload_icode (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
return CODE_FOR_aarch64_reload_movcpsfdi; return CODE_FOR_aarch64_reload_movcpsfdi;
case DFmode: case E_DFmode:
return CODE_FOR_aarch64_reload_movcpdfdi; return CODE_FOR_aarch64_reload_movcpdfdi;
case TFmode: case E_TFmode:
return CODE_FOR_aarch64_reload_movcptfdi; return CODE_FOR_aarch64_reload_movcptfdi;
case V8QImode: case E_V8QImode:
return CODE_FOR_aarch64_reload_movcpv8qidi; return CODE_FOR_aarch64_reload_movcpv8qidi;
case V16QImode: case E_V16QImode:
return CODE_FOR_aarch64_reload_movcpv16qidi; return CODE_FOR_aarch64_reload_movcpv16qidi;
case V4HImode: case E_V4HImode:
return CODE_FOR_aarch64_reload_movcpv4hidi; return CODE_FOR_aarch64_reload_movcpv4hidi;
case V8HImode: case E_V8HImode:
return CODE_FOR_aarch64_reload_movcpv8hidi; return CODE_FOR_aarch64_reload_movcpv8hidi;
case V2SImode: case E_V2SImode:
return CODE_FOR_aarch64_reload_movcpv2sidi; return CODE_FOR_aarch64_reload_movcpv2sidi;
case V4SImode: case E_V4SImode:
return CODE_FOR_aarch64_reload_movcpv4sidi; return CODE_FOR_aarch64_reload_movcpv4sidi;
case V2DImode: case E_V2DImode:
return CODE_FOR_aarch64_reload_movcpv2didi; return CODE_FOR_aarch64_reload_movcpv2didi;
case V2DFmode: case E_V2DFmode:
return CODE_FOR_aarch64_reload_movcpv2dfdi; return CODE_FOR_aarch64_reload_movcpv2dfdi;
default: default:
@ -8222,11 +8222,11 @@ get_rsqrte_type (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case DFmode: return gen_aarch64_rsqrtedf; case E_DFmode: return gen_aarch64_rsqrtedf;
case SFmode: return gen_aarch64_rsqrtesf; case E_SFmode: return gen_aarch64_rsqrtesf;
case V2DFmode: return gen_aarch64_rsqrtev2df; case E_V2DFmode: return gen_aarch64_rsqrtev2df;
case V2SFmode: return gen_aarch64_rsqrtev2sf; case E_V2SFmode: return gen_aarch64_rsqrtev2sf;
case V4SFmode: return gen_aarch64_rsqrtev4sf; case E_V4SFmode: return gen_aarch64_rsqrtev4sf;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
} }
@ -8240,11 +8240,11 @@ get_rsqrts_type (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case DFmode: return gen_aarch64_rsqrtsdf; case E_DFmode: return gen_aarch64_rsqrtsdf;
case SFmode: return gen_aarch64_rsqrtssf; case E_SFmode: return gen_aarch64_rsqrtssf;
case V2DFmode: return gen_aarch64_rsqrtsv2df; case E_V2DFmode: return gen_aarch64_rsqrtsv2df;
case V2SFmode: return gen_aarch64_rsqrtsv2sf; case E_V2SFmode: return gen_aarch64_rsqrtsv2sf;
case V4SFmode: return gen_aarch64_rsqrtsv4sf; case E_V4SFmode: return gen_aarch64_rsqrtsv4sf;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
} }
@ -8349,12 +8349,12 @@ get_recpe_type (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case SFmode: return (gen_aarch64_frecpesf); case E_SFmode: return (gen_aarch64_frecpesf);
case V2SFmode: return (gen_aarch64_frecpev2sf); case E_V2SFmode: return (gen_aarch64_frecpev2sf);
case V4SFmode: return (gen_aarch64_frecpev4sf); case E_V4SFmode: return (gen_aarch64_frecpev4sf);
case DFmode: return (gen_aarch64_frecpedf); case E_DFmode: return (gen_aarch64_frecpedf);
case V2DFmode: return (gen_aarch64_frecpev2df); case E_V2DFmode: return (gen_aarch64_frecpev2df);
default: gcc_unreachable (); default: gcc_unreachable ();
} }
} }
@ -8367,12 +8367,12 @@ get_recps_type (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case SFmode: return (gen_aarch64_frecpssf); case E_SFmode: return (gen_aarch64_frecpssf);
case V2SFmode: return (gen_aarch64_frecpsv2sf); case E_V2SFmode: return (gen_aarch64_frecpsv2sf);
case V4SFmode: return (gen_aarch64_frecpsv4sf); case E_V4SFmode: return (gen_aarch64_frecpsv4sf);
case DFmode: return (gen_aarch64_frecpsdf); case E_DFmode: return (gen_aarch64_frecpsdf);
case V2DFmode: return (gen_aarch64_frecpsv2df); case E_V2DFmode: return (gen_aarch64_frecpsv2df);
default: gcc_unreachable (); default: gcc_unreachable ();
} }
} }
@ -10743,24 +10743,24 @@ aarch64_gimplify_va_arg_expr (tree valist, tree type, gimple_seq *pre_p,
/* Establish the base type. */ /* Establish the base type. */
switch (ag_mode) switch (ag_mode)
{ {
case SFmode: case E_SFmode:
field_t = float_type_node; field_t = float_type_node;
field_ptr_t = float_ptr_type_node; field_ptr_t = float_ptr_type_node;
break; break;
case DFmode: case E_DFmode:
field_t = double_type_node; field_t = double_type_node;
field_ptr_t = double_ptr_type_node; field_ptr_t = double_ptr_type_node;
break; break;
case TFmode: case E_TFmode:
field_t = long_double_type_node; field_t = long_double_type_node;
field_ptr_t = long_double_ptr_type_node; field_ptr_t = long_double_ptr_type_node;
break; break;
case HFmode: case E_HFmode:
field_t = aarch64_fp16_type_node; field_t = aarch64_fp16_type_node;
field_ptr_t = aarch64_fp16_ptr_type_node; field_ptr_t = aarch64_fp16_ptr_type_node;
break; break;
case V2SImode: case E_V2SImode:
case V4SImode: case E_V4SImode:
{ {
tree innertype = make_signed_type (GET_MODE_PRECISION (SImode)); tree innertype = make_signed_type (GET_MODE_PRECISION (SImode));
field_t = build_vector_type_for_mode (innertype, ag_mode); field_t = build_vector_type_for_mode (innertype, ag_mode);
@ -11217,19 +11217,19 @@ aarch64_simd_container_mode (machine_mode mode, unsigned width)
if (width == 128) if (width == 128)
switch (mode) switch (mode)
{ {
case DFmode: case E_DFmode:
return V2DFmode; return V2DFmode;
case SFmode: case E_SFmode:
return V4SFmode; return V4SFmode;
case HFmode: case E_HFmode:
return V8HFmode; return V8HFmode;
case SImode: case E_SImode:
return V4SImode; return V4SImode;
case HImode: case E_HImode:
return V8HImode; return V8HImode;
case QImode: case E_QImode:
return V16QImode; return V16QImode;
case DImode: case E_DImode:
return V2DImode; return V2DImode;
default: default:
break; break;
@ -11237,15 +11237,15 @@ aarch64_simd_container_mode (machine_mode mode, unsigned width)
else else
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
return V2SFmode; return V2SFmode;
case HFmode: case E_HFmode:
return V4HFmode; return V4HFmode;
case SImode: case E_SImode:
return V2SImode; return V2SImode;
case HImode: case E_HImode:
return V4HImode; return V4HImode;
case QImode: case E_QImode:
return V8QImode; return V8QImode;
default: default:
break; break;
@ -12211,10 +12211,10 @@ aarch64_emit_load_exclusive (machine_mode mode, rtx rval,
switch (mode) switch (mode)
{ {
case QImode: gen = gen_aarch64_load_exclusiveqi; break; case E_QImode: gen = gen_aarch64_load_exclusiveqi; break;
case HImode: gen = gen_aarch64_load_exclusivehi; break; case E_HImode: gen = gen_aarch64_load_exclusivehi; break;
case SImode: gen = gen_aarch64_load_exclusivesi; break; case E_SImode: gen = gen_aarch64_load_exclusivesi; break;
case DImode: gen = gen_aarch64_load_exclusivedi; break; case E_DImode: gen = gen_aarch64_load_exclusivedi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -12232,10 +12232,10 @@ aarch64_emit_store_exclusive (machine_mode mode, rtx bval,
switch (mode) switch (mode)
{ {
case QImode: gen = gen_aarch64_store_exclusiveqi; break; case E_QImode: gen = gen_aarch64_store_exclusiveqi; break;
case HImode: gen = gen_aarch64_store_exclusivehi; break; case E_HImode: gen = gen_aarch64_store_exclusivehi; break;
case SImode: gen = gen_aarch64_store_exclusivesi; break; case E_SImode: gen = gen_aarch64_store_exclusivesi; break;
case DImode: gen = gen_aarch64_store_exclusivedi; break; case E_DImode: gen = gen_aarch64_store_exclusivedi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -12298,8 +12298,8 @@ aarch64_expand_compare_and_swap (rtx operands[])
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
/* For short modes, we're going to perform the comparison in SImode, /* For short modes, we're going to perform the comparison in SImode,
so do the zero-extension now. */ so do the zero-extension now. */
cmp_mode = SImode; cmp_mode = SImode;
@ -12307,8 +12307,8 @@ aarch64_expand_compare_and_swap (rtx operands[])
oldval = convert_modes (SImode, mode, oldval, true); oldval = convert_modes (SImode, mode, oldval, true);
/* Fall through. */ /* Fall through. */
case SImode: case E_SImode:
case DImode: case E_DImode:
/* Force the value into a register if needed. */ /* Force the value into a register if needed. */
if (!aarch64_plus_operand (oldval, mode)) if (!aarch64_plus_operand (oldval, mode))
oldval = force_reg (cmp_mode, oldval); oldval = force_reg (cmp_mode, oldval);
@ -12320,10 +12320,10 @@ aarch64_expand_compare_and_swap (rtx operands[])
switch (mode) switch (mode)
{ {
case QImode: idx = 0; break; case E_QImode: idx = 0; break;
case HImode: idx = 1; break; case E_HImode: idx = 1; break;
case SImode: idx = 2; break; case E_SImode: idx = 2; break;
case DImode: idx = 3; break; case E_DImode: idx = 3; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -12402,10 +12402,10 @@ aarch64_gen_atomic_cas (rtx rval, rtx mem,
switch (mode) switch (mode)
{ {
case QImode: gen = gen_aarch64_atomic_casqi; break; case E_QImode: gen = gen_aarch64_atomic_casqi; break;
case HImode: gen = gen_aarch64_atomic_cashi; break; case E_HImode: gen = gen_aarch64_atomic_cashi; break;
case SImode: gen = gen_aarch64_atomic_cassi; break; case E_SImode: gen = gen_aarch64_atomic_cassi; break;
case DImode: gen = gen_aarch64_atomic_casdi; break; case E_DImode: gen = gen_aarch64_atomic_casdi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -12528,8 +12528,8 @@ aarch64_emit_bic (machine_mode mode, rtx dst, rtx s1, rtx s2, int shift)
switch (mode) switch (mode)
{ {
case SImode: gen = gen_and_one_cmpl_lshrsi3; break; case E_SImode: gen = gen_and_one_cmpl_lshrsi3; break;
case DImode: gen = gen_and_one_cmpl_lshrdi3; break; case E_DImode: gen = gen_and_one_cmpl_lshrdi3; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -12547,10 +12547,10 @@ aarch64_emit_atomic_swap (machine_mode mode, rtx dst, rtx value,
switch (mode) switch (mode)
{ {
case QImode: gen = gen_aarch64_atomic_swpqi; break; case E_QImode: gen = gen_aarch64_atomic_swpqi; break;
case HImode: gen = gen_aarch64_atomic_swphi; break; case E_HImode: gen = gen_aarch64_atomic_swphi; break;
case SImode: gen = gen_aarch64_atomic_swpsi; break; case E_SImode: gen = gen_aarch64_atomic_swpsi; break;
case DImode: gen = gen_aarch64_atomic_swpdi; break; case E_DImode: gen = gen_aarch64_atomic_swpdi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -12609,10 +12609,10 @@ aarch64_emit_atomic_load_op (enum aarch64_atomic_load_op_code code,
switch (mode) switch (mode)
{ {
case QImode: idx = 0; break; case E_QImode: idx = 0; break;
case HImode: idx = 1; break; case E_HImode: idx = 1; break;
case SImode: idx = 2; break; case E_SImode: idx = 2; break;
case DImode: idx = 3; break; case E_DImode: idx = 3; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -13243,18 +13243,18 @@ aarch64_evpc_trn (struct expand_vec_perm_d *d)
{ {
switch (vmode) switch (vmode)
{ {
case V16QImode: gen = gen_aarch64_trn2v16qi; break; case E_V16QImode: gen = gen_aarch64_trn2v16qi; break;
case V8QImode: gen = gen_aarch64_trn2v8qi; break; case E_V8QImode: gen = gen_aarch64_trn2v8qi; break;
case V8HImode: gen = gen_aarch64_trn2v8hi; break; case E_V8HImode: gen = gen_aarch64_trn2v8hi; break;
case V4HImode: gen = gen_aarch64_trn2v4hi; break; case E_V4HImode: gen = gen_aarch64_trn2v4hi; break;
case V4SImode: gen = gen_aarch64_trn2v4si; break; case E_V4SImode: gen = gen_aarch64_trn2v4si; break;
case V2SImode: gen = gen_aarch64_trn2v2si; break; case E_V2SImode: gen = gen_aarch64_trn2v2si; break;
case V2DImode: gen = gen_aarch64_trn2v2di; break; case E_V2DImode: gen = gen_aarch64_trn2v2di; break;
case V4HFmode: gen = gen_aarch64_trn2v4hf; break; case E_V4HFmode: gen = gen_aarch64_trn2v4hf; break;
case V8HFmode: gen = gen_aarch64_trn2v8hf; break; case E_V8HFmode: gen = gen_aarch64_trn2v8hf; break;
case V4SFmode: gen = gen_aarch64_trn2v4sf; break; case E_V4SFmode: gen = gen_aarch64_trn2v4sf; break;
case V2SFmode: gen = gen_aarch64_trn2v2sf; break; case E_V2SFmode: gen = gen_aarch64_trn2v2sf; break;
case V2DFmode: gen = gen_aarch64_trn2v2df; break; case E_V2DFmode: gen = gen_aarch64_trn2v2df; break;
default: default:
return false; return false;
} }
@ -13263,18 +13263,18 @@ aarch64_evpc_trn (struct expand_vec_perm_d *d)
{ {
switch (vmode) switch (vmode)
{ {
case V16QImode: gen = gen_aarch64_trn1v16qi; break; case E_V16QImode: gen = gen_aarch64_trn1v16qi; break;
case V8QImode: gen = gen_aarch64_trn1v8qi; break; case E_V8QImode: gen = gen_aarch64_trn1v8qi; break;
case V8HImode: gen = gen_aarch64_trn1v8hi; break; case E_V8HImode: gen = gen_aarch64_trn1v8hi; break;
case V4HImode: gen = gen_aarch64_trn1v4hi; break; case E_V4HImode: gen = gen_aarch64_trn1v4hi; break;
case V4SImode: gen = gen_aarch64_trn1v4si; break; case E_V4SImode: gen = gen_aarch64_trn1v4si; break;
case V2SImode: gen = gen_aarch64_trn1v2si; break; case E_V2SImode: gen = gen_aarch64_trn1v2si; break;
case V2DImode: gen = gen_aarch64_trn1v2di; break; case E_V2DImode: gen = gen_aarch64_trn1v2di; break;
case V4HFmode: gen = gen_aarch64_trn1v4hf; break; case E_V4HFmode: gen = gen_aarch64_trn1v4hf; break;
case V8HFmode: gen = gen_aarch64_trn1v8hf; break; case E_V8HFmode: gen = gen_aarch64_trn1v8hf; break;
case V4SFmode: gen = gen_aarch64_trn1v4sf; break; case E_V4SFmode: gen = gen_aarch64_trn1v4sf; break;
case V2SFmode: gen = gen_aarch64_trn1v2sf; break; case E_V2SFmode: gen = gen_aarch64_trn1v2sf; break;
case V2DFmode: gen = gen_aarch64_trn1v2df; break; case E_V2DFmode: gen = gen_aarch64_trn1v2df; break;
default: default:
return false; return false;
} }
@ -13330,18 +13330,18 @@ aarch64_evpc_uzp (struct expand_vec_perm_d *d)
{ {
switch (vmode) switch (vmode)
{ {
case V16QImode: gen = gen_aarch64_uzp2v16qi; break; case E_V16QImode: gen = gen_aarch64_uzp2v16qi; break;
case V8QImode: gen = gen_aarch64_uzp2v8qi; break; case E_V8QImode: gen = gen_aarch64_uzp2v8qi; break;
case V8HImode: gen = gen_aarch64_uzp2v8hi; break; case E_V8HImode: gen = gen_aarch64_uzp2v8hi; break;
case V4HImode: gen = gen_aarch64_uzp2v4hi; break; case E_V4HImode: gen = gen_aarch64_uzp2v4hi; break;
case V4SImode: gen = gen_aarch64_uzp2v4si; break; case E_V4SImode: gen = gen_aarch64_uzp2v4si; break;
case V2SImode: gen = gen_aarch64_uzp2v2si; break; case E_V2SImode: gen = gen_aarch64_uzp2v2si; break;
case V2DImode: gen = gen_aarch64_uzp2v2di; break; case E_V2DImode: gen = gen_aarch64_uzp2v2di; break;
case V4HFmode: gen = gen_aarch64_uzp2v4hf; break; case E_V4HFmode: gen = gen_aarch64_uzp2v4hf; break;
case V8HFmode: gen = gen_aarch64_uzp2v8hf; break; case E_V8HFmode: gen = gen_aarch64_uzp2v8hf; break;
case V4SFmode: gen = gen_aarch64_uzp2v4sf; break; case E_V4SFmode: gen = gen_aarch64_uzp2v4sf; break;
case V2SFmode: gen = gen_aarch64_uzp2v2sf; break; case E_V2SFmode: gen = gen_aarch64_uzp2v2sf; break;
case V2DFmode: gen = gen_aarch64_uzp2v2df; break; case E_V2DFmode: gen = gen_aarch64_uzp2v2df; break;
default: default:
return false; return false;
} }
@ -13350,18 +13350,18 @@ aarch64_evpc_uzp (struct expand_vec_perm_d *d)
{ {
switch (vmode) switch (vmode)
{ {
case V16QImode: gen = gen_aarch64_uzp1v16qi; break; case E_V16QImode: gen = gen_aarch64_uzp1v16qi; break;
case V8QImode: gen = gen_aarch64_uzp1v8qi; break; case E_V8QImode: gen = gen_aarch64_uzp1v8qi; break;
case V8HImode: gen = gen_aarch64_uzp1v8hi; break; case E_V8HImode: gen = gen_aarch64_uzp1v8hi; break;
case V4HImode: gen = gen_aarch64_uzp1v4hi; break; case E_V4HImode: gen = gen_aarch64_uzp1v4hi; break;
case V4SImode: gen = gen_aarch64_uzp1v4si; break; case E_V4SImode: gen = gen_aarch64_uzp1v4si; break;
case V2SImode: gen = gen_aarch64_uzp1v2si; break; case E_V2SImode: gen = gen_aarch64_uzp1v2si; break;
case V2DImode: gen = gen_aarch64_uzp1v2di; break; case E_V2DImode: gen = gen_aarch64_uzp1v2di; break;
case V4HFmode: gen = gen_aarch64_uzp1v4hf; break; case E_V4HFmode: gen = gen_aarch64_uzp1v4hf; break;
case V8HFmode: gen = gen_aarch64_uzp1v8hf; break; case E_V8HFmode: gen = gen_aarch64_uzp1v8hf; break;
case V4SFmode: gen = gen_aarch64_uzp1v4sf; break; case E_V4SFmode: gen = gen_aarch64_uzp1v4sf; break;
case V2SFmode: gen = gen_aarch64_uzp1v2sf; break; case E_V2SFmode: gen = gen_aarch64_uzp1v2sf; break;
case V2DFmode: gen = gen_aarch64_uzp1v2df; break; case E_V2DFmode: gen = gen_aarch64_uzp1v2df; break;
default: default:
return false; return false;
} }
@ -13422,18 +13422,18 @@ aarch64_evpc_zip (struct expand_vec_perm_d *d)
{ {
switch (vmode) switch (vmode)
{ {
case V16QImode: gen = gen_aarch64_zip2v16qi; break; case E_V16QImode: gen = gen_aarch64_zip2v16qi; break;
case V8QImode: gen = gen_aarch64_zip2v8qi; break; case E_V8QImode: gen = gen_aarch64_zip2v8qi; break;
case V8HImode: gen = gen_aarch64_zip2v8hi; break; case E_V8HImode: gen = gen_aarch64_zip2v8hi; break;
case V4HImode: gen = gen_aarch64_zip2v4hi; break; case E_V4HImode: gen = gen_aarch64_zip2v4hi; break;
case V4SImode: gen = gen_aarch64_zip2v4si; break; case E_V4SImode: gen = gen_aarch64_zip2v4si; break;
case V2SImode: gen = gen_aarch64_zip2v2si; break; case E_V2SImode: gen = gen_aarch64_zip2v2si; break;
case V2DImode: gen = gen_aarch64_zip2v2di; break; case E_V2DImode: gen = gen_aarch64_zip2v2di; break;
case V4HFmode: gen = gen_aarch64_zip2v4hf; break; case E_V4HFmode: gen = gen_aarch64_zip2v4hf; break;
case V8HFmode: gen = gen_aarch64_zip2v8hf; break; case E_V8HFmode: gen = gen_aarch64_zip2v8hf; break;
case V4SFmode: gen = gen_aarch64_zip2v4sf; break; case E_V4SFmode: gen = gen_aarch64_zip2v4sf; break;
case V2SFmode: gen = gen_aarch64_zip2v2sf; break; case E_V2SFmode: gen = gen_aarch64_zip2v2sf; break;
case V2DFmode: gen = gen_aarch64_zip2v2df; break; case E_V2DFmode: gen = gen_aarch64_zip2v2df; break;
default: default:
return false; return false;
} }
@ -13442,18 +13442,18 @@ aarch64_evpc_zip (struct expand_vec_perm_d *d)
{ {
switch (vmode) switch (vmode)
{ {
case V16QImode: gen = gen_aarch64_zip1v16qi; break; case E_V16QImode: gen = gen_aarch64_zip1v16qi; break;
case V8QImode: gen = gen_aarch64_zip1v8qi; break; case E_V8QImode: gen = gen_aarch64_zip1v8qi; break;
case V8HImode: gen = gen_aarch64_zip1v8hi; break; case E_V8HImode: gen = gen_aarch64_zip1v8hi; break;
case V4HImode: gen = gen_aarch64_zip1v4hi; break; case E_V4HImode: gen = gen_aarch64_zip1v4hi; break;
case V4SImode: gen = gen_aarch64_zip1v4si; break; case E_V4SImode: gen = gen_aarch64_zip1v4si; break;
case V2SImode: gen = gen_aarch64_zip1v2si; break; case E_V2SImode: gen = gen_aarch64_zip1v2si; break;
case V2DImode: gen = gen_aarch64_zip1v2di; break; case E_V2DImode: gen = gen_aarch64_zip1v2di; break;
case V4HFmode: gen = gen_aarch64_zip1v4hf; break; case E_V4HFmode: gen = gen_aarch64_zip1v4hf; break;
case V8HFmode: gen = gen_aarch64_zip1v8hf; break; case E_V8HFmode: gen = gen_aarch64_zip1v8hf; break;
case V4SFmode: gen = gen_aarch64_zip1v4sf; break; case E_V4SFmode: gen = gen_aarch64_zip1v4sf; break;
case V2SFmode: gen = gen_aarch64_zip1v2sf; break; case E_V2SFmode: gen = gen_aarch64_zip1v2sf; break;
case V2DFmode: gen = gen_aarch64_zip1v2df; break; case E_V2DFmode: gen = gen_aarch64_zip1v2df; break;
default: default:
return false; return false;
} }
@ -13489,18 +13489,18 @@ aarch64_evpc_ext (struct expand_vec_perm_d *d)
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_aarch64_extv16qi; break; case E_V16QImode: gen = gen_aarch64_extv16qi; break;
case V8QImode: gen = gen_aarch64_extv8qi; break; case E_V8QImode: gen = gen_aarch64_extv8qi; break;
case V4HImode: gen = gen_aarch64_extv4hi; break; case E_V4HImode: gen = gen_aarch64_extv4hi; break;
case V8HImode: gen = gen_aarch64_extv8hi; break; case E_V8HImode: gen = gen_aarch64_extv8hi; break;
case V2SImode: gen = gen_aarch64_extv2si; break; case E_V2SImode: gen = gen_aarch64_extv2si; break;
case V4SImode: gen = gen_aarch64_extv4si; break; case E_V4SImode: gen = gen_aarch64_extv4si; break;
case V4HFmode: gen = gen_aarch64_extv4hf; break; case E_V4HFmode: gen = gen_aarch64_extv4hf; break;
case V8HFmode: gen = gen_aarch64_extv8hf; break; case E_V8HFmode: gen = gen_aarch64_extv8hf; break;
case V2SFmode: gen = gen_aarch64_extv2sf; break; case E_V2SFmode: gen = gen_aarch64_extv2sf; break;
case V4SFmode: gen = gen_aarch64_extv4sf; break; case E_V4SFmode: gen = gen_aarch64_extv4sf; break;
case V2DImode: gen = gen_aarch64_extv2di; break; case E_V2DImode: gen = gen_aarch64_extv2di; break;
case V2DFmode: gen = gen_aarch64_extv2df; break; case E_V2DFmode: gen = gen_aarch64_extv2df; break;
default: default:
return false; return false;
} }
@ -13544,8 +13544,8 @@ aarch64_evpc_rev (struct expand_vec_perm_d *d)
case 7: case 7:
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_aarch64_rev64v16qi; break; case E_V16QImode: gen = gen_aarch64_rev64v16qi; break;
case V8QImode: gen = gen_aarch64_rev64v8qi; break; case E_V8QImode: gen = gen_aarch64_rev64v8qi; break;
default: default:
return false; return false;
} }
@ -13553,10 +13553,10 @@ aarch64_evpc_rev (struct expand_vec_perm_d *d)
case 3: case 3:
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_aarch64_rev32v16qi; break; case E_V16QImode: gen = gen_aarch64_rev32v16qi; break;
case V8QImode: gen = gen_aarch64_rev32v8qi; break; case E_V8QImode: gen = gen_aarch64_rev32v8qi; break;
case V8HImode: gen = gen_aarch64_rev64v8hi; break; case E_V8HImode: gen = gen_aarch64_rev64v8hi; break;
case V4HImode: gen = gen_aarch64_rev64v4hi; break; case E_V4HImode: gen = gen_aarch64_rev64v4hi; break;
default: default:
return false; return false;
} }
@ -13564,16 +13564,16 @@ aarch64_evpc_rev (struct expand_vec_perm_d *d)
case 1: case 1:
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_aarch64_rev16v16qi; break; case E_V16QImode: gen = gen_aarch64_rev16v16qi; break;
case V8QImode: gen = gen_aarch64_rev16v8qi; break; case E_V8QImode: gen = gen_aarch64_rev16v8qi; break;
case V8HImode: gen = gen_aarch64_rev32v8hi; break; case E_V8HImode: gen = gen_aarch64_rev32v8hi; break;
case V4HImode: gen = gen_aarch64_rev32v4hi; break; case E_V4HImode: gen = gen_aarch64_rev32v4hi; break;
case V4SImode: gen = gen_aarch64_rev64v4si; break; case E_V4SImode: gen = gen_aarch64_rev64v4si; break;
case V2SImode: gen = gen_aarch64_rev64v2si; break; case E_V2SImode: gen = gen_aarch64_rev64v2si; break;
case V4SFmode: gen = gen_aarch64_rev64v4sf; break; case E_V4SFmode: gen = gen_aarch64_rev64v4sf; break;
case V2SFmode: gen = gen_aarch64_rev64v2sf; break; case E_V2SFmode: gen = gen_aarch64_rev64v2sf; break;
case V8HFmode: gen = gen_aarch64_rev64v8hf; break; case E_V8HFmode: gen = gen_aarch64_rev64v8hf; break;
case V4HFmode: gen = gen_aarch64_rev64v4hf; break; case E_V4HFmode: gen = gen_aarch64_rev64v4hf; break;
default: default:
return false; return false;
} }
@ -13630,18 +13630,18 @@ aarch64_evpc_dup (struct expand_vec_perm_d *d)
switch (vmode) switch (vmode)
{ {
case V16QImode: gen = gen_aarch64_dup_lanev16qi; break; case E_V16QImode: gen = gen_aarch64_dup_lanev16qi; break;
case V8QImode: gen = gen_aarch64_dup_lanev8qi; break; case E_V8QImode: gen = gen_aarch64_dup_lanev8qi; break;
case V8HImode: gen = gen_aarch64_dup_lanev8hi; break; case E_V8HImode: gen = gen_aarch64_dup_lanev8hi; break;
case V4HImode: gen = gen_aarch64_dup_lanev4hi; break; case E_V4HImode: gen = gen_aarch64_dup_lanev4hi; break;
case V4SImode: gen = gen_aarch64_dup_lanev4si; break; case E_V4SImode: gen = gen_aarch64_dup_lanev4si; break;
case V2SImode: gen = gen_aarch64_dup_lanev2si; break; case E_V2SImode: gen = gen_aarch64_dup_lanev2si; break;
case V2DImode: gen = gen_aarch64_dup_lanev2di; break; case E_V2DImode: gen = gen_aarch64_dup_lanev2di; break;
case V8HFmode: gen = gen_aarch64_dup_lanev8hf; break; case E_V8HFmode: gen = gen_aarch64_dup_lanev8hf; break;
case V4HFmode: gen = gen_aarch64_dup_lanev4hf; break; case E_V4HFmode: gen = gen_aarch64_dup_lanev4hf; break;
case V4SFmode: gen = gen_aarch64_dup_lanev4sf; break; case E_V4SFmode: gen = gen_aarch64_dup_lanev4sf; break;
case V2SFmode: gen = gen_aarch64_dup_lanev2sf; break; case E_V2SFmode: gen = gen_aarch64_dup_lanev2sf; break;
case V2DFmode: gen = gen_aarch64_dup_lanev2df; break; case E_V2DFmode: gen = gen_aarch64_dup_lanev2df; break;
default: default:
return false; return false;
} }
@ -14125,25 +14125,25 @@ aarch64_gen_ccmp_first (rtx_insn **prep_seq, rtx_insn **gen_seq,
switch (op_mode) switch (op_mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
cmp_mode = SImode; cmp_mode = SImode;
icode = CODE_FOR_cmpsi; icode = CODE_FOR_cmpsi;
break; break;
case DImode: case E_DImode:
cmp_mode = DImode; cmp_mode = DImode;
icode = CODE_FOR_cmpdi; icode = CODE_FOR_cmpdi;
break; break;
case SFmode: case E_SFmode:
cmp_mode = SFmode; cmp_mode = SFmode;
cc_mode = aarch64_select_cc_mode ((rtx_code) code, op0, op1); cc_mode = aarch64_select_cc_mode ((rtx_code) code, op0, op1);
icode = cc_mode == CCFPEmode ? CODE_FOR_fcmpesf : CODE_FOR_fcmpsf; icode = cc_mode == CCFPEmode ? CODE_FOR_fcmpesf : CODE_FOR_fcmpsf;
break; break;
case DFmode: case E_DFmode:
cmp_mode = DFmode; cmp_mode = DFmode;
cc_mode = aarch64_select_cc_mode ((rtx_code) code, op0, op1); cc_mode = aarch64_select_cc_mode ((rtx_code) code, op0, op1);
icode = cc_mode == CCFPEmode ? CODE_FOR_fcmpedf : CODE_FOR_fcmpdf; icode = cc_mode == CCFPEmode ? CODE_FOR_fcmpedf : CODE_FOR_fcmpdf;
@ -14200,25 +14200,25 @@ aarch64_gen_ccmp_next (rtx_insn **prep_seq, rtx_insn **gen_seq, rtx prev,
switch (op_mode) switch (op_mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
cmp_mode = SImode; cmp_mode = SImode;
icode = CODE_FOR_ccmpsi; icode = CODE_FOR_ccmpsi;
break; break;
case DImode: case E_DImode:
cmp_mode = DImode; cmp_mode = DImode;
icode = CODE_FOR_ccmpdi; icode = CODE_FOR_ccmpdi;
break; break;
case SFmode: case E_SFmode:
cmp_mode = SFmode; cmp_mode = SFmode;
cc_mode = aarch64_select_cc_mode ((rtx_code) cmp_code, op0, op1); cc_mode = aarch64_select_cc_mode ((rtx_code) cmp_code, op0, op1);
icode = cc_mode == CCFPEmode ? CODE_FOR_fccmpesf : CODE_FOR_fccmpsf; icode = cc_mode == CCFPEmode ? CODE_FOR_fccmpesf : CODE_FOR_fccmpsf;
break; break;
case DFmode: case E_DFmode:
cmp_mode = DFmode; cmp_mode = DFmode;
cc_mode = aarch64_select_cc_mode ((rtx_code) cmp_code, op0, op1); cc_mode = aarch64_select_cc_mode ((rtx_code) cmp_code, op0, op1);
icode = cc_mode == CCFPEmode ? CODE_FOR_fccmpedf : CODE_FOR_fccmpdf; icode = cc_mode == CCFPEmode ? CODE_FOR_fccmpedf : CODE_FOR_fccmpdf;

View file

@ -695,18 +695,18 @@ alpha_scalar_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: /* via optabs.c */ case E_TImode: /* via optabs.c */
return true; return true;
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
return true; return true;
case TFmode: case E_TFmode:
return TARGET_HAS_XFLOATING_LIBS; return TARGET_HAS_XFLOATING_LIBS;
default: default:
@ -3076,20 +3076,20 @@ alpha_emit_xfloating_libcall (rtx func, rtx target, rtx operands[],
{ {
switch (GET_MODE (operands[i])) switch (GET_MODE (operands[i]))
{ {
case TFmode: case E_TFmode:
reg = gen_rtx_REG (TFmode, regno); reg = gen_rtx_REG (TFmode, regno);
regno += 2; regno += 2;
break; break;
case DFmode: case E_DFmode:
reg = gen_rtx_REG (DFmode, regno + 32); reg = gen_rtx_REG (DFmode, regno + 32);
regno += 1; regno += 1;
break; break;
case VOIDmode: case E_VOIDmode:
gcc_assert (CONST_INT_P (operands[i])); gcc_assert (CONST_INT_P (operands[i]));
/* FALLTHRU */ /* FALLTHRU */
case DImode: case E_DImode:
reg = gen_rtx_REG (DImode, regno); reg = gen_rtx_REG (DImode, regno);
regno += 1; regno += 1;
break; break;
@ -3104,13 +3104,13 @@ alpha_emit_xfloating_libcall (rtx func, rtx target, rtx operands[],
switch (GET_MODE (target)) switch (GET_MODE (target))
{ {
case TFmode: case E_TFmode:
reg = gen_rtx_REG (TFmode, 16); reg = gen_rtx_REG (TFmode, 16);
break; break;
case DFmode: case E_DFmode:
reg = gen_rtx_REG (DFmode, 32); reg = gen_rtx_REG (DFmode, 32);
break; break;
case DImode: case E_DImode:
reg = gen_rtx_REG (DImode, 0); reg = gen_rtx_REG (DImode, 0);
break; break;
default: default:
@ -4383,16 +4383,16 @@ emit_insxl (machine_mode mode, rtx op1, rtx op2)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
fn = gen_insbl; fn = gen_insbl;
break; break;
case HImode: case E_HImode:
fn = gen_inswl; fn = gen_inswl;
break; break;
case SImode: case E_SImode:
fn = gen_insll; fn = gen_insll;
break; break;
case DImode: case E_DImode:
fn = gen_insql; fn = gen_insql;
break; break;
default: default:
@ -9574,9 +9574,9 @@ alpha_arg_type (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
return TARGET_FLOAT_VAX ? FF : FS; return TARGET_FLOAT_VAX ? FF : FS;
case DFmode: case E_DFmode:
return TARGET_FLOAT_VAX ? FD : FT; return TARGET_FLOAT_VAX ? FD : FT;
default: default:
return I64; return I64;

View file

@ -315,13 +315,13 @@ arc_vector_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case V2HImode: case E_V2HImode:
return TARGET_PLUS_DMPY; return TARGET_PLUS_DMPY;
case V4HImode: case E_V4HImode:
case V2SImode: case E_V2SImode:
return TARGET_PLUS_QMACW; return TARGET_PLUS_QMACW;
case V4SImode: case E_V4SImode:
case V8HImode: case E_V8HImode:
return TARGET_SIMD_SET; return TARGET_SIMD_SET;
default: default:
@ -336,9 +336,9 @@ arc_preferred_simd_mode (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
return TARGET_PLUS_QMACW ? V4HImode : V2HImode; return TARGET_PLUS_QMACW ? V4HImode : V2HImode;
case SImode: case E_SImode:
return V2SImode; return V2SImode;
default: default:
@ -622,11 +622,11 @@ arc_secondary_reload (bool in_p,
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
sri->icode = sri->icode =
in_p ? CODE_FOR_reload_qi_load : CODE_FOR_reload_qi_store; in_p ? CODE_FOR_reload_qi_load : CODE_FOR_reload_qi_store;
break; break;
case HImode: case E_HImode:
sri->icode = sri->icode =
in_p ? CODE_FOR_reload_hi_load : CODE_FOR_reload_hi_store; in_p ? CODE_FOR_reload_hi_load : CODE_FOR_reload_hi_store;
break; break;
@ -1149,8 +1149,8 @@ get_arc_condition_code (rtx comparison)
{ {
switch (GET_MODE (XEXP (comparison, 0))) switch (GET_MODE (XEXP (comparison, 0)))
{ {
case CCmode: case E_CCmode:
case SImode: /* For BRcc. */ case E_SImode: /* For BRcc. */
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ : return ARC_CC_EQ; case EQ : return ARC_CC_EQ;
@ -1165,7 +1165,7 @@ get_arc_condition_code (rtx comparison)
case GEU : return ARC_CC_HS; case GEU : return ARC_CC_HS;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_ZNmode: case E_CC_ZNmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ : return ARC_CC_EQ; case EQ : return ARC_CC_EQ;
@ -1175,21 +1175,21 @@ get_arc_condition_code (rtx comparison)
case GT : return ARC_CC_PNZ; case GT : return ARC_CC_PNZ;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_Zmode: case E_CC_Zmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ : return ARC_CC_EQ; case EQ : return ARC_CC_EQ;
case NE : return ARC_CC_NE; case NE : return ARC_CC_NE;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_Cmode: case E_CC_Cmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case LTU : return ARC_CC_C; case LTU : return ARC_CC_C;
case GEU : return ARC_CC_NC; case GEU : return ARC_CC_NC;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_FP_GTmode: case E_CC_FP_GTmode:
if (TARGET_ARGONAUT_SET && TARGET_SPFP) if (TARGET_ARGONAUT_SET && TARGET_SPFP)
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
@ -1204,7 +1204,7 @@ get_arc_condition_code (rtx comparison)
case UNLE : return ARC_CC_LS; case UNLE : return ARC_CC_LS;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_FP_GEmode: case E_CC_FP_GEmode:
/* Same for FPX and non-FPX. */ /* Same for FPX and non-FPX. */
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
@ -1212,21 +1212,21 @@ get_arc_condition_code (rtx comparison)
case UNLT : return ARC_CC_LO; case UNLT : return ARC_CC_LO;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_FP_UNEQmode: case E_CC_FP_UNEQmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case UNEQ : return ARC_CC_EQ; case UNEQ : return ARC_CC_EQ;
case LTGT : return ARC_CC_NE; case LTGT : return ARC_CC_NE;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_FP_ORDmode: case E_CC_FP_ORDmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case UNORDERED : return ARC_CC_C; case UNORDERED : return ARC_CC_C;
case ORDERED : return ARC_CC_NC; case ORDERED : return ARC_CC_NC;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_FPXmode: case E_CC_FPXmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ : return ARC_CC_EQ; case EQ : return ARC_CC_EQ;
@ -1237,7 +1237,7 @@ get_arc_condition_code (rtx comparison)
case UNEQ : return ARC_CC_LS; case UNEQ : return ARC_CC_LS;
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_FPUmode: case E_CC_FPUmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ : return ARC_CC_EQ; case EQ : return ARC_CC_EQ;
@ -1257,7 +1257,7 @@ get_arc_condition_code (rtx comparison)
case UNEQ : /* Fall through. */ case UNEQ : /* Fall through. */
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_FPU_UNEQmode: case E_CC_FPU_UNEQmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case LTGT : return ARC_CC_NE; case LTGT : return ARC_CC_NE;
@ -3869,8 +3869,8 @@ arc_print_operand (FILE *file, rtx x, int code)
size_suffix: size_suffix:
switch (GET_MODE (XEXP (x, 0))) switch (GET_MODE (XEXP (x, 0)))
{ {
case QImode: fputs ("b", file); return; case E_QImode: fputs ("b", file); return;
case HImode: fputs ("w", file); return; case E_HImode: fputs ("w", file); return;
default: break; default: break;
} }
break; break;
@ -5814,10 +5814,10 @@ arc_legitimate_constant_p (machine_mode mode, rtx x)
case CONST_VECTOR: case CONST_VECTOR:
switch (mode) switch (mode)
{ {
case V2HImode: case E_V2HImode:
return TARGET_PLUS_DMPY; return TARGET_PLUS_DMPY;
case V2SImode: case E_V2SImode:
case V4HImode: case E_V4HImode:
return TARGET_PLUS_QMACW; return TARGET_PLUS_QMACW;
default: default:
return false; return false;

View file

@ -1314,9 +1314,9 @@ do { \
ASM_GENERATE_INTERNAL_LABEL (label, "L", VALUE); \ ASM_GENERATE_INTERNAL_LABEL (label, "L", VALUE); \
switch (GET_MODE (BODY)) \ switch (GET_MODE (BODY)) \
{ \ { \
case QImode: fprintf (FILE, "\t.byte "); break; \ case E_QImode: fprintf (FILE, "\t.byte "); break; \
case HImode: fprintf (FILE, "\t.hword "); break; \ case E_HImode: fprintf (FILE, "\t.hword "); break; \
case SImode: fprintf (FILE, "\t.word "); break; \ case E_SImode: fprintf (FILE, "\t.word "); break; \
default: gcc_unreachable (); \ default: gcc_unreachable (); \
} \ } \
assemble_name (FILE, label); \ assemble_name (FILE, label); \

View file

@ -4043,13 +4043,13 @@
switch (GET_MODE (diff_vec)) switch (GET_MODE (diff_vec))
{ {
case SImode: case E_SImode:
return \"ld.as %0,[%1,%2]%&\"; return \"ld.as %0,[%1,%2]%&\";
case HImode: case E_HImode:
if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned) if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
return \"ld%_.as %0,[%1,%2]\"; return \"ld%_.as %0,[%1,%2]\";
return \"ld%_.x.as %0,[%1,%2]\"; return \"ld%_.x.as %0,[%1,%2]\";
case QImode: case E_QImode:
if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned) if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
return \"ldb%? %0,[%1,%2]%&\"; return \"ldb%? %0,[%1,%2]%&\";
return \"ldb.x %0,[%1,%2]\"; return \"ldb.x %0,[%1,%2]\";
@ -4112,7 +4112,7 @@
switch (GET_MODE (diff_vec)) switch (GET_MODE (diff_vec))
{ {
case SImode: case E_SImode:
/* Max length can be 12 in this case, but this is OK because /* Max length can be 12 in this case, but this is OK because
2 of these are for alignment, and are anticipated in the length 2 of these are for alignment, and are anticipated in the length
of the ADDR_DIFF_VEC. */ of the ADDR_DIFF_VEC. */
@ -4124,7 +4124,7 @@
s = \"add %2,%0,2\n\tld.as %2,[pcl,%2]\"; s = \"add %2,%0,2\n\tld.as %2,[pcl,%2]\";
arc_clear_unalign (); arc_clear_unalign ();
break; break;
case HImode: case E_HImode:
if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned) if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
{ {
if (satisfies_constraint_Rcq (xop[0])) if (satisfies_constraint_Rcq (xop[0]))
@ -4153,7 +4153,7 @@
} }
arc_toggle_unalign (); arc_toggle_unalign ();
break; break;
case QImode: case E_QImode:
if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned) if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
{ {
if ((rtx_equal_p (xop[2], xop[0]) if ((rtx_equal_p (xop[2], xop[0])

View file

@ -430,37 +430,37 @@
a peephole. */ a peephole. */
switch (GET_MODE (XEXP (op, 0))) switch (GET_MODE (XEXP (op, 0)))
{ {
case CC_ZNmode: case E_CC_ZNmode:
return (code == EQ || code == NE || code == GE || code == LT return (code == EQ || code == NE || code == GE || code == LT
|| code == GT); || code == GT);
case CC_Zmode: case E_CC_Zmode:
return code == EQ || code == NE; return code == EQ || code == NE;
case CC_Cmode: case E_CC_Cmode:
return code == LTU || code == GEU; return code == LTU || code == GEU;
case CC_FP_GTmode: case E_CC_FP_GTmode:
return code == GT || code == UNLE; return code == GT || code == UNLE;
case CC_FP_GEmode: case E_CC_FP_GEmode:
return code == GE || code == UNLT; return code == GE || code == UNLT;
case CC_FP_ORDmode: case E_CC_FP_ORDmode:
return code == ORDERED || code == UNORDERED; return code == ORDERED || code == UNORDERED;
case CC_FP_UNEQmode: case E_CC_FP_UNEQmode:
return code == UNEQ || code == LTGT; return code == UNEQ || code == LTGT;
case CC_FPXmode: case E_CC_FPXmode:
return (code == EQ || code == NE || code == UNEQ || code == LTGT return (code == EQ || code == NE || code == UNEQ || code == LTGT
|| code == ORDERED || code == UNORDERED); || code == ORDERED || code == UNORDERED);
case CC_FPUmode: case E_CC_FPUmode:
return 1; return 1;
case CC_FPU_UNEQmode: case E_CC_FPU_UNEQmode:
return 1; return 1;
case CCmode: case E_CCmode:
case SImode: /* Used for BRcc. */ case E_SImode: /* Used for BRcc. */
return 1; return 1;
/* From combiner. */ /* From combiner. */
case QImode: case HImode: case DImode: case SFmode: case DFmode: case E_QImode: case E_HImode: case E_DImode: case E_SFmode: case E_DFmode:
return 0; return 0;
case VOIDmode: case E_VOIDmode:
return 0; return 0;
default: default:
gcc_unreachable (); gcc_unreachable ();
@ -537,11 +537,11 @@
return 1; return 1;
switch (mode) switch (mode)
{ {
case CC_Zmode: case E_CC_Zmode:
if (GET_MODE (op) == CC_ZNmode) if (GET_MODE (op) == CC_ZNmode)
return 1; return 1;
/* Fall through. */ /* Fall through. */
case CC_ZNmode: case CC_Cmode: case E_CC_ZNmode: case E_CC_Cmode:
return GET_MODE (op) == CCmode; return GET_MODE (op) == CCmode;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -196,15 +196,15 @@
{ \ { \
switch (GET_MODE(body)) \ switch (GET_MODE(body)) \
{ \ { \
case QImode: \ case E_QImode: \
asm_fprintf (STREAM, "\t.byte\t(%LL%d-%LL%d)/2\n", \ asm_fprintf (STREAM, "\t.byte\t(%LL%d-%LL%d)/2\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \
case HImode: /* TBH */ \ case E_HImode: /* TBH */ \
asm_fprintf (STREAM, "\t.2byte\t(%LL%d-%LL%d)/2\n", \ asm_fprintf (STREAM, "\t.2byte\t(%LL%d-%LL%d)/2\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \
case SImode: \ case E_SImode: \
asm_fprintf (STREAM, "\t.word\t%LL%d-%LL%d\n", \ asm_fprintf (STREAM, "\t.word\t%LL%d-%LL%d\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \
@ -219,15 +219,15 @@
{ \ { \
switch (GET_MODE(body)) \ switch (GET_MODE(body)) \
{ \ { \
case QImode: /* TBB */ \ case E_QImode: /* TBB */ \
asm_fprintf (STREAM, "\t.byte\t(%LL%d-%LL%d)/2\n", \ asm_fprintf (STREAM, "\t.byte\t(%LL%d-%LL%d)/2\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \
case HImode: /* TBH */ \ case E_HImode: /* TBH */ \
asm_fprintf (STREAM, "\t.2byte\t(%LL%d-%LL%d)/2\n", \ asm_fprintf (STREAM, "\t.2byte\t(%LL%d-%LL%d)/2\n", \
VALUE, REL); \ VALUE, REL); \
break; \ break; \
case SImode: \ case E_SImode: \
if (flag_pic) \ if (flag_pic) \
asm_fprintf (STREAM, "\t.word\t%LL%d+1-%LL%d\n", VALUE, REL); \ asm_fprintf (STREAM, "\t.word\t%LL%d+1-%LL%d\n", VALUE, REL); \
else \ else \

View file

@ -815,29 +815,29 @@ arm_simd_builtin_std_type (machine_mode mode,
((q == qualifier_none) ? int##M##_type_node : unsigned_int##M##_type_node); ((q == qualifier_none) ? int##M##_type_node : unsigned_int##M##_type_node);
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
return QUAL_TYPE (QI); return QUAL_TYPE (QI);
case HImode: case E_HImode:
return QUAL_TYPE (HI); return QUAL_TYPE (HI);
case SImode: case E_SImode:
return QUAL_TYPE (SI); return QUAL_TYPE (SI);
case DImode: case E_DImode:
return QUAL_TYPE (DI); return QUAL_TYPE (DI);
case TImode: case E_TImode:
return QUAL_TYPE (TI); return QUAL_TYPE (TI);
case OImode: case E_OImode:
return arm_simd_intOI_type_node; return arm_simd_intOI_type_node;
case EImode: case E_EImode:
return arm_simd_intEI_type_node; return arm_simd_intEI_type_node;
case CImode: case E_CImode:
return arm_simd_intCI_type_node; return arm_simd_intCI_type_node;
case XImode: case E_XImode:
return arm_simd_intXI_type_node; return arm_simd_intXI_type_node;
case HFmode: case E_HFmode:
return arm_fp16_type_node; return arm_fp16_type_node;
case SFmode: case E_SFmode:
return float_type_node; return float_type_node;
case DFmode: case E_DFmode:
return double_type_node; return double_type_node;
default: default:
gcc_unreachable (); gcc_unreachable ();
@ -1677,16 +1677,16 @@ arm_init_iwmmxt_builtins (void)
switch (mode) switch (mode)
{ {
case V8QImode: case E_V8QImode:
type = v8qi_ftype_v8qi_v8qi; type = v8qi_ftype_v8qi_v8qi;
break; break;
case V4HImode: case E_V4HImode:
type = v4hi_ftype_v4hi_v4hi; type = v4hi_ftype_v4hi_v4hi;
break; break;
case V2SImode: case E_V2SImode:
type = v2si_ftype_v2si_v2si; type = v2si_ftype_v2si_v2si;
break; break;
case DImode: case E_DImode:
type = di_ftype_di_di; type = di_ftype_di_di;
break; break;

View file

@ -9069,15 +9069,15 @@ thumb1_size_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer)
/* XXX still guessing. */ /* XXX still guessing. */
switch (GET_MODE (XEXP (x, 0))) switch (GET_MODE (XEXP (x, 0)))
{ {
case QImode: case E_QImode:
return (1 + (mode == DImode ? 4 : 0) return (1 + (mode == DImode ? 4 : 0)
+ (MEM_P (XEXP (x, 0)) ? 10 : 0)); + (MEM_P (XEXP (x, 0)) ? 10 : 0));
case HImode: case E_HImode:
return (4 + (mode == DImode ? 4 : 0) return (4 + (mode == DImode ? 4 : 0)
+ (MEM_P (XEXP (x, 0)) ? 10 : 0)); + (MEM_P (XEXP (x, 0)) ? 10 : 0));
case SImode: case E_SImode:
return (1 + (MEM_P (XEXP (x, 0)) ? 10 : 0)); return (1 + (MEM_P (XEXP (x, 0)) ? 10 : 0));
default: default:
@ -12243,31 +12243,31 @@ neon_expand_vector_init (rtx target, rtx vals)
x = copy_to_mode_reg (inner_mode, XVECEXP (vals, 0, one_var)); x = copy_to_mode_reg (inner_mode, XVECEXP (vals, 0, one_var));
switch (mode) switch (mode)
{ {
case V8QImode: case E_V8QImode:
emit_insn (gen_neon_vset_lanev8qi (target, x, target, index)); emit_insn (gen_neon_vset_lanev8qi (target, x, target, index));
break; break;
case V16QImode: case E_V16QImode:
emit_insn (gen_neon_vset_lanev16qi (target, x, target, index)); emit_insn (gen_neon_vset_lanev16qi (target, x, target, index));
break; break;
case V4HImode: case E_V4HImode:
emit_insn (gen_neon_vset_lanev4hi (target, x, target, index)); emit_insn (gen_neon_vset_lanev4hi (target, x, target, index));
break; break;
case V8HImode: case E_V8HImode:
emit_insn (gen_neon_vset_lanev8hi (target, x, target, index)); emit_insn (gen_neon_vset_lanev8hi (target, x, target, index));
break; break;
case V2SImode: case E_V2SImode:
emit_insn (gen_neon_vset_lanev2si (target, x, target, index)); emit_insn (gen_neon_vset_lanev2si (target, x, target, index));
break; break;
case V4SImode: case E_V4SImode:
emit_insn (gen_neon_vset_lanev4si (target, x, target, index)); emit_insn (gen_neon_vset_lanev4si (target, x, target, index));
break; break;
case V2SFmode: case E_V2SFmode:
emit_insn (gen_neon_vset_lanev2sf (target, x, target, index)); emit_insn (gen_neon_vset_lanev2sf (target, x, target, index));
break; break;
case V4SFmode: case E_V4SFmode:
emit_insn (gen_neon_vset_lanev4sf (target, x, target, index)); emit_insn (gen_neon_vset_lanev4sf (target, x, target, index));
break; break;
case V2DImode: case E_V2DImode:
emit_insn (gen_neon_vset_lanev2di (target, x, target, index)); emit_insn (gen_neon_vset_lanev2di (target, x, target, index));
break; break;
default: default:
@ -18699,12 +18699,12 @@ arm_attr_length_move_neon (rtx_insn *insn)
mode = GET_MODE (recog_data.operand[0]); mode = GET_MODE (recog_data.operand[0]);
switch (mode) switch (mode)
{ {
case EImode: case E_EImode:
case OImode: case E_OImode:
return 8; return 8;
case CImode: case E_CImode:
return 12; return 12;
case XImode: case E_XImode:
return 16; return 16;
default: default:
gcc_unreachable (); gcc_unreachable ();
@ -22783,16 +22783,16 @@ maybe_get_arm_condition_code (rtx comparison)
switch (mode) switch (mode)
{ {
case CC_DNEmode: code = ARM_NE; goto dominance; case E_CC_DNEmode: code = ARM_NE; goto dominance;
case CC_DEQmode: code = ARM_EQ; goto dominance; case E_CC_DEQmode: code = ARM_EQ; goto dominance;
case CC_DGEmode: code = ARM_GE; goto dominance; case E_CC_DGEmode: code = ARM_GE; goto dominance;
case CC_DGTmode: code = ARM_GT; goto dominance; case E_CC_DGTmode: code = ARM_GT; goto dominance;
case CC_DLEmode: code = ARM_LE; goto dominance; case E_CC_DLEmode: code = ARM_LE; goto dominance;
case CC_DLTmode: code = ARM_LT; goto dominance; case E_CC_DLTmode: code = ARM_LT; goto dominance;
case CC_DGEUmode: code = ARM_CS; goto dominance; case E_CC_DGEUmode: code = ARM_CS; goto dominance;
case CC_DGTUmode: code = ARM_HI; goto dominance; case E_CC_DGTUmode: code = ARM_HI; goto dominance;
case CC_DLEUmode: code = ARM_LS; goto dominance; case E_CC_DLEUmode: code = ARM_LS; goto dominance;
case CC_DLTUmode: code = ARM_CC; case E_CC_DLTUmode: code = ARM_CC;
dominance: dominance:
if (comp_code == EQ) if (comp_code == EQ)
@ -22801,7 +22801,7 @@ maybe_get_arm_condition_code (rtx comparison)
return code; return code;
return ARM_NV; return ARM_NV;
case CC_NOOVmode: case E_CC_NOOVmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return ARM_NE; case NE: return ARM_NE;
@ -22811,7 +22811,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CC_Zmode: case E_CC_Zmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return ARM_NE; case NE: return ARM_NE;
@ -22819,7 +22819,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CC_Nmode: case E_CC_Nmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return ARM_MI; case NE: return ARM_MI;
@ -22827,8 +22827,8 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CCFPEmode: case E_CCFPEmode:
case CCFPmode: case E_CCFPmode:
/* We can handle all cases except UNEQ and LTGT. */ /* We can handle all cases except UNEQ and LTGT. */
switch (comp_code) switch (comp_code)
{ {
@ -22850,7 +22850,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CC_SWPmode: case E_CC_SWPmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return ARM_NE; case NE: return ARM_NE;
@ -22866,7 +22866,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CC_Cmode: case E_CC_Cmode:
switch (comp_code) switch (comp_code)
{ {
case LTU: return ARM_CS; case LTU: return ARM_CS;
@ -22876,7 +22876,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CC_CZmode: case E_CC_CZmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return ARM_NE; case NE: return ARM_NE;
@ -22888,7 +22888,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CC_NCVmode: case E_CC_NCVmode:
switch (comp_code) switch (comp_code)
{ {
case GE: return ARM_GE; case GE: return ARM_GE;
@ -22898,7 +22898,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CC_Vmode: case E_CC_Vmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return ARM_VS; case NE: return ARM_VS;
@ -22906,7 +22906,7 @@ maybe_get_arm_condition_code (rtx comparison)
default: return ARM_NV; default: return ARM_NV;
} }
case CCmode: case E_CCmode:
switch (comp_code) switch (comp_code)
{ {
case NE: return ARM_NE; case NE: return ARM_NE;
@ -26565,9 +26565,9 @@ arm_emit_vector_const (FILE *file, rtx x)
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case V2SImode: pattern = "%08x"; break; case E_V2SImode: pattern = "%08x"; break;
case V4HImode: pattern = "%04x"; break; case E_V4HImode: pattern = "%04x"; break;
case V8QImode: pattern = "%02x"; break; case E_V8QImode: pattern = "%02x"; break;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
@ -26950,15 +26950,15 @@ arm_preferred_simd_mode (machine_mode mode)
if (TARGET_NEON) if (TARGET_NEON)
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
return TARGET_NEON_VECTORIZE_DOUBLE ? V2SFmode : V4SFmode; return TARGET_NEON_VECTORIZE_DOUBLE ? V2SFmode : V4SFmode;
case SImode: case E_SImode:
return TARGET_NEON_VECTORIZE_DOUBLE ? V2SImode : V4SImode; return TARGET_NEON_VECTORIZE_DOUBLE ? V2SImode : V4SImode;
case HImode: case E_HImode:
return TARGET_NEON_VECTORIZE_DOUBLE ? V4HImode : V8HImode; return TARGET_NEON_VECTORIZE_DOUBLE ? V4HImode : V8HImode;
case QImode: case E_QImode:
return TARGET_NEON_VECTORIZE_DOUBLE ? V8QImode : V16QImode; return TARGET_NEON_VECTORIZE_DOUBLE ? V8QImode : V16QImode;
case DImode: case E_DImode:
if (!TARGET_NEON_VECTORIZE_DOUBLE) if (!TARGET_NEON_VECTORIZE_DOUBLE)
return V2DImode; return V2DImode;
break; break;
@ -26969,11 +26969,11 @@ arm_preferred_simd_mode (machine_mode mode)
if (TARGET_REALLY_IWMMXT) if (TARGET_REALLY_IWMMXT)
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
return V2SImode; return V2SImode;
case HImode: case E_HImode:
return V4HImode; return V4HImode;
case QImode: case E_QImode:
return V8QImode; return V8QImode;
default:; default:;
@ -27675,13 +27675,13 @@ arm_output_iwmmxt_tinsr (rtx *operands)
{ {
switch (GET_MODE (operands[0])) switch (GET_MODE (operands[0]))
{ {
case V8QImode: case E_V8QImode:
sprintf (templ, "tinsrb%%?\t%%0, %%2, #%d", i); sprintf (templ, "tinsrb%%?\t%%0, %%2, #%d", i);
break; break;
case V4HImode: case E_V4HImode:
sprintf (templ, "tinsrh%%?\t%%0, %%2, #%d", i); sprintf (templ, "tinsrh%%?\t%%0, %%2, #%d", i);
break; break;
case V2SImode: case E_V2SImode:
sprintf (templ, "tinsrw%%?\t%%0, %%2, #%d", i); sprintf (templ, "tinsrw%%?\t%%0, %%2, #%d", i);
break; break;
default: default:
@ -27703,13 +27703,13 @@ thumb1_output_casesi (rtx *operands)
switch (GET_MODE(diff_vec)) switch (GET_MODE(diff_vec))
{ {
case QImode: case E_QImode:
return (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned ? return (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned ?
"bl\t%___gnu_thumb1_case_uqi" : "bl\t%___gnu_thumb1_case_sqi"); "bl\t%___gnu_thumb1_case_uqi" : "bl\t%___gnu_thumb1_case_sqi");
case HImode: case E_HImode:
return (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned ? return (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned ?
"bl\t%___gnu_thumb1_case_uhi" : "bl\t%___gnu_thumb1_case_shi"); "bl\t%___gnu_thumb1_case_uhi" : "bl\t%___gnu_thumb1_case_shi");
case SImode: case E_SImode:
return "bl\t%___gnu_thumb1_case_si"; return "bl\t%___gnu_thumb1_case_si";
default: default:
gcc_unreachable (); gcc_unreachable ();
@ -27728,11 +27728,11 @@ thumb2_output_casesi (rtx *operands)
output_asm_insn ("bhi\t%l3", operands); output_asm_insn ("bhi\t%l3", operands);
switch (GET_MODE(diff_vec)) switch (GET_MODE(diff_vec))
{ {
case QImode: case E_QImode:
return "tbb\t[%|pc, %0]"; return "tbb\t[%|pc, %0]";
case HImode: case E_HImode:
return "tbh\t[%|pc, %0, lsl #1]"; return "tbh\t[%|pc, %0, lsl #1]";
case SImode: case E_SImode:
if (flag_pic) if (flag_pic)
{ {
output_asm_insn ("adr\t%4, %l2", operands); output_asm_insn ("adr\t%4, %l2", operands);
@ -28208,10 +28208,10 @@ arm_emit_load_exclusive (machine_mode mode, rtx rval, rtx mem, bool acq)
{ {
switch (mode) switch (mode)
{ {
case QImode: gen = gen_arm_load_acquire_exclusiveqi; break; case E_QImode: gen = gen_arm_load_acquire_exclusiveqi; break;
case HImode: gen = gen_arm_load_acquire_exclusivehi; break; case E_HImode: gen = gen_arm_load_acquire_exclusivehi; break;
case SImode: gen = gen_arm_load_acquire_exclusivesi; break; case E_SImode: gen = gen_arm_load_acquire_exclusivesi; break;
case DImode: gen = gen_arm_load_acquire_exclusivedi; break; case E_DImode: gen = gen_arm_load_acquire_exclusivedi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28220,10 +28220,10 @@ arm_emit_load_exclusive (machine_mode mode, rtx rval, rtx mem, bool acq)
{ {
switch (mode) switch (mode)
{ {
case QImode: gen = gen_arm_load_exclusiveqi; break; case E_QImode: gen = gen_arm_load_exclusiveqi; break;
case HImode: gen = gen_arm_load_exclusivehi; break; case E_HImode: gen = gen_arm_load_exclusivehi; break;
case SImode: gen = gen_arm_load_exclusivesi; break; case E_SImode: gen = gen_arm_load_exclusivesi; break;
case DImode: gen = gen_arm_load_exclusivedi; break; case E_DImode: gen = gen_arm_load_exclusivedi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28242,10 +28242,10 @@ arm_emit_store_exclusive (machine_mode mode, rtx bval, rtx rval,
{ {
switch (mode) switch (mode)
{ {
case QImode: gen = gen_arm_store_release_exclusiveqi; break; case E_QImode: gen = gen_arm_store_release_exclusiveqi; break;
case HImode: gen = gen_arm_store_release_exclusivehi; break; case E_HImode: gen = gen_arm_store_release_exclusivehi; break;
case SImode: gen = gen_arm_store_release_exclusivesi; break; case E_SImode: gen = gen_arm_store_release_exclusivesi; break;
case DImode: gen = gen_arm_store_release_exclusivedi; break; case E_DImode: gen = gen_arm_store_release_exclusivedi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28254,10 +28254,10 @@ arm_emit_store_exclusive (machine_mode mode, rtx bval, rtx rval,
{ {
switch (mode) switch (mode)
{ {
case QImode: gen = gen_arm_store_exclusiveqi; break; case E_QImode: gen = gen_arm_store_exclusiveqi; break;
case HImode: gen = gen_arm_store_exclusivehi; break; case E_HImode: gen = gen_arm_store_exclusivehi; break;
case SImode: gen = gen_arm_store_exclusivesi; break; case E_SImode: gen = gen_arm_store_exclusivesi; break;
case DImode: gen = gen_arm_store_exclusivedi; break; case E_DImode: gen = gen_arm_store_exclusivedi; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28305,22 +28305,22 @@ arm_expand_compare_and_swap (rtx operands[])
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
/* For narrow modes, we're going to perform the comparison in SImode, /* For narrow modes, we're going to perform the comparison in SImode,
so do the zero-extension now. */ so do the zero-extension now. */
rval = gen_reg_rtx (SImode); rval = gen_reg_rtx (SImode);
oldval = convert_modes (SImode, mode, oldval, true); oldval = convert_modes (SImode, mode, oldval, true);
/* FALLTHRU */ /* FALLTHRU */
case SImode: case E_SImode:
/* Force the value into a register if needed. We waited until after /* Force the value into a register if needed. We waited until after
the zero-extension above to do this properly. */ the zero-extension above to do this properly. */
if (!arm_add_operand (oldval, SImode)) if (!arm_add_operand (oldval, SImode))
oldval = force_reg (SImode, oldval); oldval = force_reg (SImode, oldval);
break; break;
case DImode: case E_DImode:
if (!cmpdi_operand (oldval, mode)) if (!cmpdi_operand (oldval, mode))
oldval = force_reg (mode, oldval); oldval = force_reg (mode, oldval);
break; break;
@ -28333,10 +28333,10 @@ arm_expand_compare_and_swap (rtx operands[])
{ {
switch (mode) switch (mode)
{ {
case QImode: gen = gen_atomic_compare_and_swapt1qi_1; break; case E_QImode: gen = gen_atomic_compare_and_swapt1qi_1; break;
case HImode: gen = gen_atomic_compare_and_swapt1hi_1; break; case E_HImode: gen = gen_atomic_compare_and_swapt1hi_1; break;
case SImode: gen = gen_atomic_compare_and_swapt1si_1; break; case E_SImode: gen = gen_atomic_compare_and_swapt1si_1; break;
case DImode: gen = gen_atomic_compare_and_swapt1di_1; break; case E_DImode: gen = gen_atomic_compare_and_swapt1di_1; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28345,10 +28345,10 @@ arm_expand_compare_and_swap (rtx operands[])
{ {
switch (mode) switch (mode)
{ {
case QImode: gen = gen_atomic_compare_and_swap32qi_1; break; case E_QImode: gen = gen_atomic_compare_and_swap32qi_1; break;
case HImode: gen = gen_atomic_compare_and_swap32hi_1; break; case E_HImode: gen = gen_atomic_compare_and_swap32hi_1; break;
case SImode: gen = gen_atomic_compare_and_swap32si_1; break; case E_SImode: gen = gen_atomic_compare_and_swap32si_1; break;
case DImode: gen = gen_atomic_compare_and_swap32di_1; break; case E_DImode: gen = gen_atomic_compare_and_swap32di_1; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28769,16 +28769,16 @@ arm_evpc_neon_vuzp (struct expand_vec_perm_d *d)
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_neon_vuzpv16qi_internal; break; case E_V16QImode: gen = gen_neon_vuzpv16qi_internal; break;
case V8QImode: gen = gen_neon_vuzpv8qi_internal; break; case E_V8QImode: gen = gen_neon_vuzpv8qi_internal; break;
case V8HImode: gen = gen_neon_vuzpv8hi_internal; break; case E_V8HImode: gen = gen_neon_vuzpv8hi_internal; break;
case V4HImode: gen = gen_neon_vuzpv4hi_internal; break; case E_V4HImode: gen = gen_neon_vuzpv4hi_internal; break;
case V8HFmode: gen = gen_neon_vuzpv8hf_internal; break; case E_V8HFmode: gen = gen_neon_vuzpv8hf_internal; break;
case V4HFmode: gen = gen_neon_vuzpv4hf_internal; break; case E_V4HFmode: gen = gen_neon_vuzpv4hf_internal; break;
case V4SImode: gen = gen_neon_vuzpv4si_internal; break; case E_V4SImode: gen = gen_neon_vuzpv4si_internal; break;
case V2SImode: gen = gen_neon_vuzpv2si_internal; break; case E_V2SImode: gen = gen_neon_vuzpv2si_internal; break;
case V2SFmode: gen = gen_neon_vuzpv2sf_internal; break; case E_V2SFmode: gen = gen_neon_vuzpv2sf_internal; break;
case V4SFmode: gen = gen_neon_vuzpv4sf_internal; break; case E_V4SFmode: gen = gen_neon_vuzpv4sf_internal; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28844,16 +28844,16 @@ arm_evpc_neon_vzip (struct expand_vec_perm_d *d)
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_neon_vzipv16qi_internal; break; case E_V16QImode: gen = gen_neon_vzipv16qi_internal; break;
case V8QImode: gen = gen_neon_vzipv8qi_internal; break; case E_V8QImode: gen = gen_neon_vzipv8qi_internal; break;
case V8HImode: gen = gen_neon_vzipv8hi_internal; break; case E_V8HImode: gen = gen_neon_vzipv8hi_internal; break;
case V4HImode: gen = gen_neon_vzipv4hi_internal; break; case E_V4HImode: gen = gen_neon_vzipv4hi_internal; break;
case V8HFmode: gen = gen_neon_vzipv8hf_internal; break; case E_V8HFmode: gen = gen_neon_vzipv8hf_internal; break;
case V4HFmode: gen = gen_neon_vzipv4hf_internal; break; case E_V4HFmode: gen = gen_neon_vzipv4hf_internal; break;
case V4SImode: gen = gen_neon_vzipv4si_internal; break; case E_V4SImode: gen = gen_neon_vzipv4si_internal; break;
case V2SImode: gen = gen_neon_vzipv2si_internal; break; case E_V2SImode: gen = gen_neon_vzipv2si_internal; break;
case V2SFmode: gen = gen_neon_vzipv2sf_internal; break; case E_V2SFmode: gen = gen_neon_vzipv2sf_internal; break;
case V4SFmode: gen = gen_neon_vzipv4sf_internal; break; case E_V4SFmode: gen = gen_neon_vzipv4sf_internal; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -28889,8 +28889,8 @@ arm_evpc_neon_vrev (struct expand_vec_perm_d *d)
case 7: case 7:
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_neon_vrev64v16qi; break; case E_V16QImode: gen = gen_neon_vrev64v16qi; break;
case V8QImode: gen = gen_neon_vrev64v8qi; break; case E_V8QImode: gen = gen_neon_vrev64v8qi; break;
default: default:
return false; return false;
} }
@ -28898,12 +28898,12 @@ arm_evpc_neon_vrev (struct expand_vec_perm_d *d)
case 3: case 3:
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_neon_vrev32v16qi; break; case E_V16QImode: gen = gen_neon_vrev32v16qi; break;
case V8QImode: gen = gen_neon_vrev32v8qi; break; case E_V8QImode: gen = gen_neon_vrev32v8qi; break;
case V8HImode: gen = gen_neon_vrev64v8hi; break; case E_V8HImode: gen = gen_neon_vrev64v8hi; break;
case V4HImode: gen = gen_neon_vrev64v4hi; break; case E_V4HImode: gen = gen_neon_vrev64v4hi; break;
case V8HFmode: gen = gen_neon_vrev64v8hf; break; case E_V8HFmode: gen = gen_neon_vrev64v8hf; break;
case V4HFmode: gen = gen_neon_vrev64v4hf; break; case E_V4HFmode: gen = gen_neon_vrev64v4hf; break;
default: default:
return false; return false;
} }
@ -28911,14 +28911,14 @@ arm_evpc_neon_vrev (struct expand_vec_perm_d *d)
case 1: case 1:
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_neon_vrev16v16qi; break; case E_V16QImode: gen = gen_neon_vrev16v16qi; break;
case V8QImode: gen = gen_neon_vrev16v8qi; break; case E_V8QImode: gen = gen_neon_vrev16v8qi; break;
case V8HImode: gen = gen_neon_vrev32v8hi; break; case E_V8HImode: gen = gen_neon_vrev32v8hi; break;
case V4HImode: gen = gen_neon_vrev32v4hi; break; case E_V4HImode: gen = gen_neon_vrev32v4hi; break;
case V4SImode: gen = gen_neon_vrev64v4si; break; case E_V4SImode: gen = gen_neon_vrev64v4si; break;
case V2SImode: gen = gen_neon_vrev64v2si; break; case E_V2SImode: gen = gen_neon_vrev64v2si; break;
case V4SFmode: gen = gen_neon_vrev64v4sf; break; case E_V4SFmode: gen = gen_neon_vrev64v4sf; break;
case V2SFmode: gen = gen_neon_vrev64v2sf; break; case E_V2SFmode: gen = gen_neon_vrev64v2sf; break;
default: default:
return false; return false;
} }
@ -28983,16 +28983,16 @@ arm_evpc_neon_vtrn (struct expand_vec_perm_d *d)
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_neon_vtrnv16qi_internal; break; case E_V16QImode: gen = gen_neon_vtrnv16qi_internal; break;
case V8QImode: gen = gen_neon_vtrnv8qi_internal; break; case E_V8QImode: gen = gen_neon_vtrnv8qi_internal; break;
case V8HImode: gen = gen_neon_vtrnv8hi_internal; break; case E_V8HImode: gen = gen_neon_vtrnv8hi_internal; break;
case V4HImode: gen = gen_neon_vtrnv4hi_internal; break; case E_V4HImode: gen = gen_neon_vtrnv4hi_internal; break;
case V8HFmode: gen = gen_neon_vtrnv8hf_internal; break; case E_V8HFmode: gen = gen_neon_vtrnv8hf_internal; break;
case V4HFmode: gen = gen_neon_vtrnv4hf_internal; break; case E_V4HFmode: gen = gen_neon_vtrnv4hf_internal; break;
case V4SImode: gen = gen_neon_vtrnv4si_internal; break; case E_V4SImode: gen = gen_neon_vtrnv4si_internal; break;
case V2SImode: gen = gen_neon_vtrnv2si_internal; break; case E_V2SImode: gen = gen_neon_vtrnv2si_internal; break;
case V2SFmode: gen = gen_neon_vtrnv2sf_internal; break; case E_V2SFmode: gen = gen_neon_vtrnv2sf_internal; break;
case V4SFmode: gen = gen_neon_vtrnv4sf_internal; break; case E_V4SFmode: gen = gen_neon_vtrnv4sf_internal; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -29058,17 +29058,17 @@ arm_evpc_neon_vext (struct expand_vec_perm_d *d)
switch (d->vmode) switch (d->vmode)
{ {
case V16QImode: gen = gen_neon_vextv16qi; break; case E_V16QImode: gen = gen_neon_vextv16qi; break;
case V8QImode: gen = gen_neon_vextv8qi; break; case E_V8QImode: gen = gen_neon_vextv8qi; break;
case V4HImode: gen = gen_neon_vextv4hi; break; case E_V4HImode: gen = gen_neon_vextv4hi; break;
case V8HImode: gen = gen_neon_vextv8hi; break; case E_V8HImode: gen = gen_neon_vextv8hi; break;
case V2SImode: gen = gen_neon_vextv2si; break; case E_V2SImode: gen = gen_neon_vextv2si; break;
case V4SImode: gen = gen_neon_vextv4si; break; case E_V4SImode: gen = gen_neon_vextv4si; break;
case V4HFmode: gen = gen_neon_vextv4hf; break; case E_V4HFmode: gen = gen_neon_vextv4hf; break;
case V8HFmode: gen = gen_neon_vextv8hf; break; case E_V8HFmode: gen = gen_neon_vextv8hf; break;
case V2SFmode: gen = gen_neon_vextv2sf; break; case E_V2SFmode: gen = gen_neon_vextv2sf; break;
case V4SFmode: gen = gen_neon_vextv4sf; break; case E_V4SFmode: gen = gen_neon_vextv4sf; break;
case V2DImode: gen = gen_neon_vextv2di; break; case E_V2DImode: gen = gen_neon_vextv2di; break;
default: default:
return false; return false;
} }
@ -29613,21 +29613,21 @@ arm_validize_comparison (rtx *comparison, rtx * op1, rtx * op2)
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
if (!arm_add_operand (*op1, mode)) if (!arm_add_operand (*op1, mode))
*op1 = force_reg (mode, *op1); *op1 = force_reg (mode, *op1);
if (!arm_add_operand (*op2, mode)) if (!arm_add_operand (*op2, mode))
*op2 = force_reg (mode, *op2); *op2 = force_reg (mode, *op2);
return true; return true;
case DImode: case E_DImode:
if (!cmpdi_operand (*op1, mode)) if (!cmpdi_operand (*op1, mode))
*op1 = force_reg (mode, *op1); *op1 = force_reg (mode, *op1);
if (!cmpdi_operand (*op2, mode)) if (!cmpdi_operand (*op2, mode))
*op2 = force_reg (mode, *op2); *op2 = force_reg (mode, *op2);
return true; return true;
case HFmode: case E_HFmode:
if (!TARGET_VFP_FP16INST) if (!TARGET_VFP_FP16INST)
break; break;
/* FP16 comparisons are done in SF mode. */ /* FP16 comparisons are done in SF mode. */
@ -29635,8 +29635,8 @@ arm_validize_comparison (rtx *comparison, rtx * op1, rtx * op2)
*op1 = convert_to_mode (mode, *op1, 1); *op1 = convert_to_mode (mode, *op1, 1);
*op2 = convert_to_mode (mode, *op2, 1); *op2 = convert_to_mode (mode, *op2, 1);
/* Fall through. */ /* Fall through. */
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
if (!vfp_compare_operand (*op1, mode)) if (!vfp_compare_operand (*op1, mode))
*op1 = force_reg (mode, *op1); *op1 = force_reg (mode, *op1);
if (!vfp_compare_operand (*op2, mode)) if (!vfp_compare_operand (*op2, mode))

View file

@ -2532,12 +2532,12 @@
but we will never expand to UNSPECs for the integer comparisons. */ but we will never expand to UNSPECs for the integer comparisons. */
switch (<MODE>mode) switch (<MODE>mode)
{ {
case V2SFmode: case E_V2SFmode:
emit_insn (gen_neon_vc<cmp_op>v2sf_insn_unspec (operands[0], emit_insn (gen_neon_vc<cmp_op>v2sf_insn_unspec (operands[0],
operands[1], operands[1],
operands[2])); operands[2]));
break; break;
case V4SFmode: case E_V4SFmode:
emit_insn (gen_neon_vc<cmp_op>v4sf_insn_unspec (operands[0], emit_insn (gen_neon_vc<cmp_op>v4sf_insn_unspec (operands[0],
operands[1], operands[1],
operands[2])); operands[2]));

View file

@ -79,24 +79,24 @@ avr_resolve_overloaded_builtin (unsigned int iloc, tree fndecl, void *vargs)
switch (TYPE_MODE (type0)) switch (TYPE_MODE (type0))
{ {
case QQmode: id = AVR_BUILTIN_ABSHR; break; case E_QQmode: id = AVR_BUILTIN_ABSHR; break;
case HQmode: id = AVR_BUILTIN_ABSR; break; case E_HQmode: id = AVR_BUILTIN_ABSR; break;
case SQmode: id = AVR_BUILTIN_ABSLR; break; case E_SQmode: id = AVR_BUILTIN_ABSLR; break;
case DQmode: id = AVR_BUILTIN_ABSLLR; break; case E_DQmode: id = AVR_BUILTIN_ABSLLR; break;
case HAmode: id = AVR_BUILTIN_ABSHK; break; case E_HAmode: id = AVR_BUILTIN_ABSHK; break;
case SAmode: id = AVR_BUILTIN_ABSK; break; case E_SAmode: id = AVR_BUILTIN_ABSK; break;
case DAmode: id = AVR_BUILTIN_ABSLK; break; case E_DAmode: id = AVR_BUILTIN_ABSLK; break;
case TAmode: id = AVR_BUILTIN_ABSLLK; break; case E_TAmode: id = AVR_BUILTIN_ABSLLK; break;
case UQQmode: case E_UQQmode:
case UHQmode: case E_UHQmode:
case USQmode: case E_USQmode:
case UDQmode: case E_UDQmode:
case UHAmode: case E_UHAmode:
case USAmode: case E_USAmode:
case UDAmode: case E_UDAmode:
case UTAmode: case E_UTAmode:
warning_at (loc, 0, "using %qs with unsigned type has no effect", warning_at (loc, 0, "using %qs with unsigned type has no effect",
"absfx"); "absfx");
return args[0]; return args[0];
@ -147,25 +147,25 @@ avr_resolve_overloaded_builtin (unsigned int iloc, tree fndecl, void *vargs)
switch (TYPE_MODE (type0)) switch (TYPE_MODE (type0))
{ {
case QQmode: id = AVR_BUILTIN_ROUNDHR; break; case E_QQmode: id = AVR_BUILTIN_ROUNDHR; break;
case HQmode: id = AVR_BUILTIN_ROUNDR; break; case E_HQmode: id = AVR_BUILTIN_ROUNDR; break;
case SQmode: id = AVR_BUILTIN_ROUNDLR; break; case E_SQmode: id = AVR_BUILTIN_ROUNDLR; break;
case DQmode: id = AVR_BUILTIN_ROUNDLLR; break; case E_DQmode: id = AVR_BUILTIN_ROUNDLLR; break;
case UQQmode: id = AVR_BUILTIN_ROUNDUHR; break; case E_UQQmode: id = AVR_BUILTIN_ROUNDUHR; break;
case UHQmode: id = AVR_BUILTIN_ROUNDUR; break; case E_UHQmode: id = AVR_BUILTIN_ROUNDUR; break;
case USQmode: id = AVR_BUILTIN_ROUNDULR; break; case E_USQmode: id = AVR_BUILTIN_ROUNDULR; break;
case UDQmode: id = AVR_BUILTIN_ROUNDULLR; break; case E_UDQmode: id = AVR_BUILTIN_ROUNDULLR; break;
case HAmode: id = AVR_BUILTIN_ROUNDHK; break; case E_HAmode: id = AVR_BUILTIN_ROUNDHK; break;
case SAmode: id = AVR_BUILTIN_ROUNDK; break; case E_SAmode: id = AVR_BUILTIN_ROUNDK; break;
case DAmode: id = AVR_BUILTIN_ROUNDLK; break; case E_DAmode: id = AVR_BUILTIN_ROUNDLK; break;
case TAmode: id = AVR_BUILTIN_ROUNDLLK; break; case E_TAmode: id = AVR_BUILTIN_ROUNDLLK; break;
case UHAmode: id = AVR_BUILTIN_ROUNDUHK; break; case E_UHAmode: id = AVR_BUILTIN_ROUNDUHK; break;
case USAmode: id = AVR_BUILTIN_ROUNDUK; break; case E_USAmode: id = AVR_BUILTIN_ROUNDUK; break;
case UDAmode: id = AVR_BUILTIN_ROUNDULK; break; case E_UDAmode: id = AVR_BUILTIN_ROUNDULK; break;
case UTAmode: id = AVR_BUILTIN_ROUNDULLK; break; case E_UTAmode: id = AVR_BUILTIN_ROUNDULLK; break;
default: default:
error_at (loc, "no matching fixed-point overload found for %qs", error_at (loc, "no matching fixed-point overload found for %qs",
@ -204,25 +204,25 @@ avr_resolve_overloaded_builtin (unsigned int iloc, tree fndecl, void *vargs)
switch (TYPE_MODE (type0)) switch (TYPE_MODE (type0))
{ {
case QQmode: id = AVR_BUILTIN_COUNTLSHR; break; case E_QQmode: id = AVR_BUILTIN_COUNTLSHR; break;
case HQmode: id = AVR_BUILTIN_COUNTLSR; break; case E_HQmode: id = AVR_BUILTIN_COUNTLSR; break;
case SQmode: id = AVR_BUILTIN_COUNTLSLR; break; case E_SQmode: id = AVR_BUILTIN_COUNTLSLR; break;
case DQmode: id = AVR_BUILTIN_COUNTLSLLR; break; case E_DQmode: id = AVR_BUILTIN_COUNTLSLLR; break;
case UQQmode: id = AVR_BUILTIN_COUNTLSUHR; break; case E_UQQmode: id = AVR_BUILTIN_COUNTLSUHR; break;
case UHQmode: id = AVR_BUILTIN_COUNTLSUR; break; case E_UHQmode: id = AVR_BUILTIN_COUNTLSUR; break;
case USQmode: id = AVR_BUILTIN_COUNTLSULR; break; case E_USQmode: id = AVR_BUILTIN_COUNTLSULR; break;
case UDQmode: id = AVR_BUILTIN_COUNTLSULLR; break; case E_UDQmode: id = AVR_BUILTIN_COUNTLSULLR; break;
case HAmode: id = AVR_BUILTIN_COUNTLSHK; break; case E_HAmode: id = AVR_BUILTIN_COUNTLSHK; break;
case SAmode: id = AVR_BUILTIN_COUNTLSK; break; case E_SAmode: id = AVR_BUILTIN_COUNTLSK; break;
case DAmode: id = AVR_BUILTIN_COUNTLSLK; break; case E_DAmode: id = AVR_BUILTIN_COUNTLSLK; break;
case TAmode: id = AVR_BUILTIN_COUNTLSLLK; break; case E_TAmode: id = AVR_BUILTIN_COUNTLSLLK; break;
case UHAmode: id = AVR_BUILTIN_COUNTLSUHK; break; case E_UHAmode: id = AVR_BUILTIN_COUNTLSUHK; break;
case USAmode: id = AVR_BUILTIN_COUNTLSUK; break; case E_USAmode: id = AVR_BUILTIN_COUNTLSUK; break;
case UDAmode: id = AVR_BUILTIN_COUNTLSULK; break; case E_UDAmode: id = AVR_BUILTIN_COUNTLSULK; break;
case UTAmode: id = AVR_BUILTIN_COUNTLSULLK; break; case E_UTAmode: id = AVR_BUILTIN_COUNTLSULLK; break;
default: default:
error_at (loc, "no matching fixed-point overload found for %qs", error_at (loc, "no matching fixed-point overload found for %qs",

View file

@ -10806,14 +10806,14 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case NEG: case NEG:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case SFmode: case E_SFmode:
*total = COSTS_N_INSNS (1); *total = COSTS_N_INSNS (1);
break; break;
case HImode: case E_HImode:
case PSImode: case E_PSImode:
case SImode: case E_SImode:
*total = COSTS_N_INSNS (2 * GET_MODE_SIZE (mode) - 1); *total = COSTS_N_INSNS (2 * GET_MODE_SIZE (mode) - 1);
break; break;
@ -10826,8 +10826,8 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case ABS: case ABS:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case SFmode: case E_SFmode:
*total = COSTS_N_INSNS (1); *total = COSTS_N_INSNS (1);
break; break;
@ -10859,7 +10859,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case PLUS: case PLUS:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (AVR_HAVE_MUL if (AVR_HAVE_MUL
&& MULT == GET_CODE (XEXP (x, 0)) && MULT == GET_CODE (XEXP (x, 0))
&& register_operand (XEXP (x, 1), QImode)) && register_operand (XEXP (x, 1), QImode))
@ -10876,7 +10876,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
*total += avr_operand_rtx_cost (XEXP (x, 1), mode, code, 1, speed); *total += avr_operand_rtx_cost (XEXP (x, 1), mode, code, 1, speed);
break; break;
case HImode: case E_HImode:
if (AVR_HAVE_MUL if (AVR_HAVE_MUL
&& (MULT == GET_CODE (XEXP (x, 0)) && (MULT == GET_CODE (XEXP (x, 0))
|| ASHIFT == GET_CODE (XEXP (x, 0))) || ASHIFT == GET_CODE (XEXP (x, 0)))
@ -10903,7 +10903,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
*total = COSTS_N_INSNS (2); *total = COSTS_N_INSNS (2);
break; break;
case PSImode: case E_PSImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (3); *total = COSTS_N_INSNS (3);
@ -10916,7 +10916,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
*total = COSTS_N_INSNS (3); *total = COSTS_N_INSNS (3);
break; break;
case SImode: case E_SImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (4); *total = COSTS_N_INSNS (4);
@ -10994,7 +10994,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case MULT: case MULT:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (AVR_HAVE_MUL) if (AVR_HAVE_MUL)
*total = COSTS_N_INSNS (!speed ? 3 : 4); *total = COSTS_N_INSNS (!speed ? 3 : 4);
else if (!speed) else if (!speed)
@ -11003,7 +11003,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
return false; return false;
break; break;
case HImode: case E_HImode:
if (AVR_HAVE_MUL) if (AVR_HAVE_MUL)
{ {
rtx op0 = XEXP (x, 0); rtx op0 = XEXP (x, 0);
@ -11047,15 +11047,15 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
return false; return false;
break; break;
case PSImode: case E_PSImode:
if (!speed) if (!speed)
*total = COSTS_N_INSNS (AVR_HAVE_JMP_CALL ? 2 : 1); *total = COSTS_N_INSNS (AVR_HAVE_JMP_CALL ? 2 : 1);
else else
*total = 10; *total = 10;
break; break;
case SImode: case E_SImode:
case DImode: case E_DImode:
if (AVR_HAVE_MUL) if (AVR_HAVE_MUL)
{ {
if (!speed) if (!speed)
@ -11113,19 +11113,19 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case ROTATE: case ROTATE:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) == 4) if (CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) == 4)
*total = COSTS_N_INSNS (1); *total = COSTS_N_INSNS (1);
break; break;
case HImode: case E_HImode:
if (CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) == 8) if (CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) == 8)
*total = COSTS_N_INSNS (3); *total = COSTS_N_INSNS (3);
break; break;
case SImode: case E_SImode:
if (CONST_INT_P (XEXP (x, 1))) if (CONST_INT_P (XEXP (x, 1)))
switch (INTVAL (XEXP (x, 1))) switch (INTVAL (XEXP (x, 1)))
{ {
@ -11148,7 +11148,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case ASHIFT: case ASHIFT:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 4 : 17); *total = COSTS_N_INSNS (!speed ? 4 : 17);
@ -11167,7 +11167,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case HImode: case E_HImode:
if (AVR_HAVE_MUL) if (AVR_HAVE_MUL)
{ {
if (const_2_to_7_operand (XEXP (x, 1), HImode) if (const_2_to_7_operand (XEXP (x, 1), HImode)
@ -11232,7 +11232,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case PSImode: case E_PSImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 6 : 73); *total = COSTS_N_INSNS (!speed ? 6 : 73);
@ -11257,7 +11257,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case SImode: case E_SImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 7 : 113); *total = COSTS_N_INSNS (!speed ? 7 : 113);
@ -11300,7 +11300,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case ASHIFTRT: case ASHIFTRT:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 4 : 17); *total = COSTS_N_INSNS (!speed ? 4 : 17);
@ -11321,7 +11321,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case HImode: case E_HImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 5 : 41); *total = COSTS_N_INSNS (!speed ? 5 : 41);
@ -11367,7 +11367,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case PSImode: case E_PSImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 6 : 73); *total = COSTS_N_INSNS (!speed ? 6 : 73);
@ -11394,7 +11394,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case SImode: case E_SImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 7 : 113); *total = COSTS_N_INSNS (!speed ? 7 : 113);
@ -11443,7 +11443,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 4 : 17); *total = COSTS_N_INSNS (!speed ? 4 : 17);
@ -11462,7 +11462,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case HImode: case E_HImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 5 : 41); *total = COSTS_N_INSNS (!speed ? 5 : 41);
@ -11511,7 +11511,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case PSImode: case E_PSImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 6 : 73); *total = COSTS_N_INSNS (!speed ? 6 : 73);
@ -11536,7 +11536,7 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
} }
break; break;
case SImode: case E_SImode:
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
{ {
*total = COSTS_N_INSNS (!speed ? 7 : 113); *total = COSTS_N_INSNS (!speed ? 7 : 113);
@ -11579,14 +11579,14 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
case COMPARE: case COMPARE:
switch (GET_MODE (XEXP (x, 0))) switch (GET_MODE (XEXP (x, 0)))
{ {
case QImode: case E_QImode:
*total = COSTS_N_INSNS (1); *total = COSTS_N_INSNS (1);
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
*total += avr_operand_rtx_cost (XEXP (x, 1), QImode, code, *total += avr_operand_rtx_cost (XEXP (x, 1), QImode, code,
1, speed); 1, speed);
break; break;
case HImode: case E_HImode:
*total = COSTS_N_INSNS (2); *total = COSTS_N_INSNS (2);
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
*total += avr_operand_rtx_cost (XEXP (x, 1), HImode, code, *total += avr_operand_rtx_cost (XEXP (x, 1), HImode, code,
@ -11595,13 +11595,13 @@ avr_rtx_costs_1 (rtx x, machine_mode mode, int outer_code,
*total += COSTS_N_INSNS (1); *total += COSTS_N_INSNS (1);
break; break;
case PSImode: case E_PSImode:
*total = COSTS_N_INSNS (3); *total = COSTS_N_INSNS (3);
if (CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) != 0) if (CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) != 0)
*total += COSTS_N_INSNS (2); *total += COSTS_N_INSNS (2);
break; break;
case SImode: case E_SImode:
*total = COSTS_N_INSNS (4); *total = COSTS_N_INSNS (4);
if (!CONST_INT_P (XEXP (x, 1))) if (!CONST_INT_P (XEXP (x, 1)))
*total += avr_operand_rtx_cost (XEXP (x, 1), SImode, code, *total += avr_operand_rtx_cost (XEXP (x, 1), SImode, code,

View file

@ -6226,11 +6226,11 @@ c6x_vector_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case V2HImode: case E_V2HImode:
case V4QImode: case E_V4QImode:
case V2SImode: case E_V2SImode:
case V4HImode: case E_V4HImode:
case V8QImode: case E_V8QImode:
return true; return true;
default: default:
return false; return false;
@ -6243,9 +6243,9 @@ c6x_preferred_simd_mode (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
return V2HImode; return V2HImode;
case QImode: case E_QImode:
return V4QImode; return V4QImode;
default: default:

View file

@ -270,7 +270,7 @@ get_epiphany_condition_code (rtx comparison)
{ {
switch (GET_MODE (XEXP (comparison, 0))) switch (GET_MODE (XEXP (comparison, 0)))
{ {
case CCmode: case E_CCmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ : return 0; case EQ : return 0;
@ -286,28 +286,28 @@ get_epiphany_condition_code (rtx comparison)
default : gcc_unreachable (); default : gcc_unreachable ();
} }
case CC_N_NEmode: case E_CC_N_NEmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ: return 6; case EQ: return 6;
case NE: return 7; case NE: return 7;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
case CC_C_LTUmode: case E_CC_C_LTUmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case GEU: return 2; case GEU: return 2;
case LTU: return 3; case LTU: return 3;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
case CC_C_GTUmode: case E_CC_C_GTUmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case LEU: return 3; case LEU: return 3;
case GTU: return 2; case GTU: return 2;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
case CC_FPmode: case E_CC_FPmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ: return 10; case EQ: return 10;
@ -316,14 +316,14 @@ get_epiphany_condition_code (rtx comparison)
case LE: return 13; case LE: return 13;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
case CC_FP_EQmode: case E_CC_FP_EQmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ: return 0; case EQ: return 0;
case NE: return 1; case NE: return 1;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
case CC_FP_GTEmode: case E_CC_FP_GTEmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case EQ: return 0; case EQ: return 0;
@ -334,14 +334,14 @@ get_epiphany_condition_code (rtx comparison)
case UNLT : return 7; case UNLT : return 7;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
case CC_FP_ORDmode: case E_CC_FP_ORDmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case ORDERED: return 9; case ORDERED: return 9;
case UNORDERED: return 8; case UNORDERED: return 8;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
case CC_FP_UNEQmode: case E_CC_FP_UNEQmode:
switch (GET_CODE (comparison)) switch (GET_CODE (comparison))
{ {
case UNEQ: return 9; case UNEQ: return 9;
@ -803,9 +803,9 @@ epiphany_rtx_costs (rtx x, machine_mode mode, int outer_code,
{ {
/* There are a number of single-insn combiner patterns that use /* There are a number of single-insn combiner patterns that use
the flag side effects of arithmetic. */ the flag side effects of arithmetic. */
case CC_N_NEmode: case E_CC_N_NEmode:
case CC_C_LTUmode: case E_CC_C_LTUmode:
case CC_C_GTUmode: case E_CC_C_GTUmode:
return true; return true;
default: default:
return false; return false;

View file

@ -223,31 +223,31 @@
return 0; return 0;
switch (GET_MODE (cc)) switch (GET_MODE (cc))
{ {
case CC_Zmode: case E_CC_Zmode:
case CC_N_NEmode: case E_CC_N_NEmode:
case CC_FP_EQmode: case E_CC_FP_EQmode:
return REGNO (cc) == CC_REGNUM && (code == EQ || code == NE); return REGNO (cc) == CC_REGNUM && (code == EQ || code == NE);
case CC_C_LTUmode: case E_CC_C_LTUmode:
return REGNO (cc) == CC_REGNUM && (code == LTU || code == GEU); return REGNO (cc) == CC_REGNUM && (code == LTU || code == GEU);
case CC_C_GTUmode: case E_CC_C_GTUmode:
return REGNO (cc) == CC_REGNUM && (code == GTU || code == LEU); return REGNO (cc) == CC_REGNUM && (code == GTU || code == LEU);
case CC_FPmode: case E_CC_FPmode:
return (REGNO (cc) == CCFP_REGNUM return (REGNO (cc) == CCFP_REGNUM
&& (code == EQ || code == NE || code == LT || code == LE)); && (code == EQ || code == NE || code == LT || code == LE));
case CC_FP_GTEmode: case E_CC_FP_GTEmode:
return (REGNO (cc) == CC_REGNUM return (REGNO (cc) == CC_REGNUM
&& (code == EQ || code == NE || code == GT || code == GE && (code == EQ || code == NE || code == GT || code == GE
|| code == UNLE || code == UNLT)); || code == UNLE || code == UNLT));
case CC_FP_ORDmode: case E_CC_FP_ORDmode:
return REGNO (cc) == CC_REGNUM && (code == ORDERED || code == UNORDERED); return REGNO (cc) == CC_REGNUM && (code == ORDERED || code == UNORDERED);
case CC_FP_UNEQmode: case E_CC_FP_UNEQmode:
return REGNO (cc) == CC_REGNUM && (code == UNEQ || code == LTGT); return REGNO (cc) == CC_REGNUM && (code == UNEQ || code == LTGT);
case CCmode: case E_CCmode:
return REGNO (cc) == CC_REGNUM; return REGNO (cc) == CC_REGNUM;
/* From combiner. */ /* From combiner. */
case QImode: case SImode: case SFmode: case HImode: case E_QImode: case E_SImode: case E_SFmode: case E_HImode:
/* From cse.c:dead_libcall_p. */ /* From cse.c:dead_libcall_p. */
case DFmode: case E_DFmode:
return 0; return 0;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -3893,10 +3893,10 @@ condexec_memory_operand (rtx op, machine_mode mode)
default: default:
return FALSE; return FALSE;
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case SFmode: case E_SFmode:
break; break;
} }
@ -3935,16 +3935,16 @@ frv_emit_move (machine_mode mode, rtx dest, rtx src)
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
if (frv_emit_movsi (dest, src)) if (frv_emit_movsi (dest, src))
return; return;
break; break;
case QImode: case E_QImode:
case HImode: case E_HImode:
case DImode: case E_DImode:
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
if (!reload_in_progress if (!reload_in_progress
&& !reload_completed && !reload_completed
&& !register_operand (dest, mode) && !register_operand (dest, mode)
@ -4249,14 +4249,14 @@ output_move_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "ldsb%I1%U1 %M1,%0"; return "ldsb%I1%U1 %M1,%0";
case HImode: case E_HImode:
return "ldsh%I1%U1 %M1,%0"; return "ldsh%I1%U1 %M1,%0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "ld%I1%U1 %M1, %0"; return "ld%I1%U1 %M1, %0";
} }
} }
@ -4323,14 +4323,14 @@ output_move_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "ldbf%I1%U1 %M1,%0"; return "ldbf%I1%U1 %M1,%0";
case HImode: case E_HImode:
return "ldhf%I1%U1 %M1,%0"; return "ldhf%I1%U1 %M1,%0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "ldf%I1%U1 %M1, %0"; return "ldf%I1%U1 %M1, %0";
} }
} }
@ -4368,14 +4368,14 @@ output_move_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "stb%I0%U0 %1, %M0"; return "stb%I0%U0 %1, %M0";
case HImode: case E_HImode:
return "sth%I0%U0 %1, %M0"; return "sth%I0%U0 %1, %M0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "st%I0%U0 %1, %M0"; return "st%I0%U0 %1, %M0";
} }
} }
@ -4387,14 +4387,14 @@ output_move_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "stbf%I0%U0 %1, %M0"; return "stbf%I0%U0 %1, %M0";
case HImode: case E_HImode:
return "sthf%I0%U0 %1, %M0"; return "sthf%I0%U0 %1, %M0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "stf%I0%U0 %1, %M0"; return "stf%I0%U0 %1, %M0";
} }
} }
@ -4407,14 +4407,14 @@ output_move_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "stb%I0%U0 %., %M0"; return "stb%I0%U0 %., %M0";
case HImode: case E_HImode:
return "sth%I0%U0 %., %M0"; return "sth%I0%U0 %., %M0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "st%I0%U0 %., %M0"; return "st%I0%U0 %., %M0";
} }
} }
@ -4591,14 +4591,14 @@ output_condmove_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "cldsb%I3%U3 %M3, %2, %1, %e0"; return "cldsb%I3%U3 %M3, %2, %1, %e0";
case HImode: case E_HImode:
return "cldsh%I3%U3 %M3, %2, %1, %e0"; return "cldsh%I3%U3 %M3, %2, %1, %e0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "cld%I3%U3 %M3, %2, %1, %e0"; return "cld%I3%U3 %M3, %2, %1, %e0";
} }
} }
@ -4652,14 +4652,14 @@ output_condmove_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "cstb%I2%U2 %3, %M2, %1, %e0"; return "cstb%I2%U2 %3, %M2, %1, %e0";
case HImode: case E_HImode:
return "csth%I2%U2 %3, %M2, %1, %e0"; return "csth%I2%U2 %3, %M2, %1, %e0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "cst%I2%U2 %3, %M2, %1, %e0"; return "cst%I2%U2 %3, %M2, %1, %e0";
} }
} }
@ -4676,14 +4676,14 @@ output_condmove_single (rtx operands[], rtx insn)
default: default:
break; break;
case QImode: case E_QImode:
return "cstb%I2%U2 %., %M2, %1, %e0"; return "cstb%I2%U2 %., %M2, %1, %e0";
case HImode: case E_HImode:
return "csth%I2%U2 %., %M2, %1, %e0"; return "csth%I2%U2 %., %M2, %1, %e0";
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return "cst%I2%U2 %., %M2, %1, %e0"; return "cst%I2%U2 %., %M2, %1, %e0";
} }
} }
@ -6579,15 +6579,15 @@ frv_hard_regno_mode_ok (int regno, machine_mode mode)
switch (mode) switch (mode)
{ {
case CCmode: case E_CCmode:
case CC_UNSmode: case E_CC_UNSmode:
case CC_NZmode: case E_CC_NZmode:
return ICC_P (regno) || GPR_P (regno); return ICC_P (regno) || GPR_P (regno);
case CC_CCRmode: case E_CC_CCRmode:
return CR_P (regno) || GPR_P (regno); return CR_P (regno) || GPR_P (regno);
case CC_FPmode: case E_CC_FPmode:
return FCC_P (regno) || GPR_P (regno); return FCC_P (regno) || GPR_P (regno);
default: default:
@ -8619,13 +8619,13 @@ frv_matching_accg_mode (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case V4SImode: case E_V4SImode:
return V4QImode; return V4QImode;
case DImode: case E_DImode:
return HImode; return HImode;
case SImode: case E_SImode:
return QImode; return QImode;
default: default:

View file

@ -1033,11 +1033,11 @@ split_adds_subs (machine_mode mode, rtx *operands)
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
gen_add = gen_addhi3; gen_add = gen_addhi3;
break; break;
case SImode: case E_SImode:
gen_add = gen_addsi3; gen_add = gen_addsi3;
break; break;
@ -1328,12 +1328,12 @@ h8300_rtx_costs (rtx x, machine_mode mode ATTRIBUTE_UNUSED, int outer_code,
if (TARGET_H8300SX) if (TARGET_H8300SX)
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
*total = COSTS_N_INSNS (!speed ? 4 : 10); *total = COSTS_N_INSNS (!speed ? 4 : 10);
return false; return false;
case SImode: case E_SImode:
*total = COSTS_N_INSNS (!speed ? 4 : 18); *total = COSTS_N_INSNS (!speed ? 4 : 18);
return false; return false;
@ -1347,12 +1347,12 @@ h8300_rtx_costs (rtx x, machine_mode mode ATTRIBUTE_UNUSED, int outer_code,
if (TARGET_H8300SX) if (TARGET_H8300SX)
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
*total = COSTS_N_INSNS (2); *total = COSTS_N_INSNS (2);
return false; return false;
case SImode: case E_SImode:
*total = COSTS_N_INSNS (5); *total = COSTS_N_INSNS (5);
return false; return false;
@ -1697,18 +1697,18 @@ h8300_print_operand (FILE *file, rtx x, int code)
case REG: case REG:
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case QImode: case E_QImode:
#if 0 /* Is it asm ("mov.b %0,r2l", ...) */ #if 0 /* Is it asm ("mov.b %0,r2l", ...) */
fprintf (file, "%s", byte_reg (x, 0)); fprintf (file, "%s", byte_reg (x, 0));
#else /* ... or is it asm ("mov.b %0l,r2l", ...) */ #else /* ... or is it asm ("mov.b %0l,r2l", ...) */
fprintf (file, "%s", names_big[REGNO (x)]); fprintf (file, "%s", names_big[REGNO (x)]);
#endif #endif
break; break;
case HImode: case E_HImode:
fprintf (file, "%s", names_big[REGNO (x)]); fprintf (file, "%s", names_big[REGNO (x)]);
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
fprintf (file, "%s", names_extended[REGNO (x)]); fprintf (file, "%s", names_extended[REGNO (x)]);
break; break;
default: default:
@ -2808,7 +2808,7 @@ compute_mov_length (rtx *operands)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
return 2; return 2;
@ -2820,7 +2820,7 @@ compute_mov_length (rtx *operands)
base_length = 4; base_length = 4;
break; break;
case HImode: case E_HImode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
{ {
if (REG_P (src)) if (REG_P (src))
@ -2835,7 +2835,7 @@ compute_mov_length (rtx *operands)
base_length = 4; base_length = 4;
break; break;
case SImode: case E_SImode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
{ {
if (REG_P (src)) if (REG_P (src))
@ -2862,7 +2862,7 @@ compute_mov_length (rtx *operands)
base_length = 8; base_length = 8;
break; break;
case SFmode: case E_SFmode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
{ {
if (REG_P (src)) if (REG_P (src))
@ -2914,7 +2914,7 @@ compute_mov_length (rtx *operands)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
return 2; return 2;
@ -2926,7 +2926,7 @@ compute_mov_length (rtx *operands)
base_length = 8; base_length = 8;
break; break;
case HImode: case E_HImode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
{ {
if (REG_P (src)) if (REG_P (src))
@ -2941,7 +2941,7 @@ compute_mov_length (rtx *operands)
base_length = 8; base_length = 8;
break; break;
case SImode: case E_SImode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
{ {
if (REG_P (src)) if (REG_P (src))
@ -2982,7 +2982,7 @@ compute_mov_length (rtx *operands)
base_length = 10; base_length = 10;
break; break;
case SFmode: case E_SFmode:
if (addr == NULL_RTX) if (addr == NULL_RTX)
{ {
if (REG_P (src)) if (REG_P (src))
@ -3304,7 +3304,7 @@ output_logical_op (machine_mode mode, rtx *operands)
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
/* First, see if we can finish with one insn. */ /* First, see if we can finish with one insn. */
if ((TARGET_H8300H || TARGET_H8300S) if ((TARGET_H8300H || TARGET_H8300S)
&& b0 != 0 && b0 != 0
@ -3329,7 +3329,7 @@ output_logical_op (machine_mode mode, rtx *operands)
} }
} }
break; break;
case SImode: case E_SImode:
if (TARGET_H8300H || TARGET_H8300S) if (TARGET_H8300H || TARGET_H8300S)
{ {
/* Determine if the lower half can be taken care of in no more /* Determine if the lower half can be taken care of in no more
@ -3469,7 +3469,7 @@ compute_logical_op_length (machine_mode mode, rtx *operands)
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
/* First, see if we can finish with one insn. */ /* First, see if we can finish with one insn. */
if ((TARGET_H8300H || TARGET_H8300S) if ((TARGET_H8300H || TARGET_H8300S)
&& b0 != 0 && b0 != 0
@ -3489,7 +3489,7 @@ compute_logical_op_length (machine_mode mode, rtx *operands)
length += 2; length += 2;
} }
break; break;
case SImode: case E_SImode:
if (TARGET_H8300H || TARGET_H8300S) if (TARGET_H8300H || TARGET_H8300S)
{ {
/* Determine if the lower half can be taken care of in no more /* Determine if the lower half can be taken care of in no more
@ -3613,7 +3613,7 @@ compute_logical_op_cc (machine_mode mode, rtx *operands)
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
/* First, see if we can finish with one insn. */ /* First, see if we can finish with one insn. */
if ((TARGET_H8300H || TARGET_H8300S) if ((TARGET_H8300H || TARGET_H8300S)
&& b0 != 0 && b0 != 0
@ -3622,7 +3622,7 @@ compute_logical_op_cc (machine_mode mode, rtx *operands)
cc = CC_SET_ZNV; cc = CC_SET_ZNV;
} }
break; break;
case SImode: case E_SImode:
if (TARGET_H8300H || TARGET_H8300S) if (TARGET_H8300H || TARGET_H8300S)
{ {
/* Determine if the lower half can be taken care of in no more /* Determine if the lower half can be taken care of in no more
@ -4533,19 +4533,19 @@ h8300_shift_needs_scratch_p (int count, machine_mode mode)
/* Find the shift algorithm. */ /* Find the shift algorithm. */
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
a = shift_alg_qi[cpu][SHIFT_ASHIFT][count]; a = shift_alg_qi[cpu][SHIFT_ASHIFT][count];
lr = shift_alg_qi[cpu][SHIFT_LSHIFTRT][count]; lr = shift_alg_qi[cpu][SHIFT_LSHIFTRT][count];
ar = shift_alg_qi[cpu][SHIFT_ASHIFTRT][count]; ar = shift_alg_qi[cpu][SHIFT_ASHIFTRT][count];
break; break;
case HImode: case E_HImode:
a = shift_alg_hi[cpu][SHIFT_ASHIFT][count]; a = shift_alg_hi[cpu][SHIFT_ASHIFT][count];
lr = shift_alg_hi[cpu][SHIFT_LSHIFTRT][count]; lr = shift_alg_hi[cpu][SHIFT_LSHIFTRT][count];
ar = shift_alg_hi[cpu][SHIFT_ASHIFTRT][count]; ar = shift_alg_hi[cpu][SHIFT_ASHIFTRT][count];
break; break;
case SImode: case E_SImode:
a = shift_alg_si[cpu][SHIFT_ASHIFT][count]; a = shift_alg_si[cpu][SHIFT_ASHIFT][count];
lr = shift_alg_si[cpu][SHIFT_LSHIFTRT][count]; lr = shift_alg_si[cpu][SHIFT_LSHIFTRT][count];
ar = shift_alg_si[cpu][SHIFT_ASHIFTRT][count]; ar = shift_alg_si[cpu][SHIFT_ASHIFTRT][count];
@ -4578,13 +4578,13 @@ output_a_shift (rtx *operands)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
shift_mode = QIshift; shift_mode = QIshift;
break; break;
case HImode: case E_HImode:
shift_mode = HIshift; shift_mode = HIshift;
break; break;
case SImode: case E_SImode:
shift_mode = SIshift; shift_mode = SIshift;
break; break;
default: default:
@ -4670,11 +4670,11 @@ output_a_shift (rtx *operands)
/* Now mask off the high bits. */ /* Now mask off the high bits. */
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
sprintf (insn_buf, "and\t#%d,%%X0", mask); sprintf (insn_buf, "and\t#%d,%%X0", mask);
break; break;
case HImode: case E_HImode:
gcc_assert (TARGET_H8300H || TARGET_H8300S); gcc_assert (TARGET_H8300H || TARGET_H8300S);
sprintf (insn_buf, "and.w\t#%d,%%T0", mask); sprintf (insn_buf, "and.w\t#%d,%%T0", mask);
break; break;
@ -4746,13 +4746,13 @@ compute_a_shift_length (rtx insn ATTRIBUTE_UNUSED, rtx *operands)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
shift_mode = QIshift; shift_mode = QIshift;
break; break;
case HImode: case E_HImode:
shift_mode = HIshift; shift_mode = HIshift;
break; break;
case SImode: case E_SImode:
shift_mode = SIshift; shift_mode = SIshift;
break; break;
default: default:
@ -4842,13 +4842,13 @@ compute_a_shift_length (rtx insn ATTRIBUTE_UNUSED, rtx *operands)
/* Now mask off the high bits. */ /* Now mask off the high bits. */
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
wlength += 1; wlength += 1;
break; break;
case HImode: case E_HImode:
wlength += 2; wlength += 2;
break; break;
case SImode: case E_SImode:
gcc_assert (!TARGET_H8300); gcc_assert (!TARGET_H8300);
wlength += 3; wlength += 3;
break; break;
@ -4894,13 +4894,13 @@ compute_a_shift_cc (rtx insn ATTRIBUTE_UNUSED, rtx *operands)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
shift_mode = QIshift; shift_mode = QIshift;
break; break;
case HImode: case E_HImode:
shift_mode = HIshift; shift_mode = HIshift;
break; break;
case SImode: case E_SImode:
shift_mode = SIshift; shift_mode = SIshift;
break; break;
default: default:
@ -5007,13 +5007,13 @@ expand_a_rotate (rtx operands[])
/* Rotate by one bit. */ /* Rotate by one bit. */
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
emit_insn (gen_rotlqi3_1 (dst, dst, const1_rtx)); emit_insn (gen_rotlqi3_1 (dst, dst, const1_rtx));
break; break;
case HImode: case E_HImode:
emit_insn (gen_rotlhi3_1 (dst, dst, const1_rtx)); emit_insn (gen_rotlhi3_1 (dst, dst, const1_rtx));
break; break;
case SImode: case E_SImode:
emit_insn (gen_rotlsi3_1 (dst, dst, const1_rtx)); emit_insn (gen_rotlsi3_1 (dst, dst, const1_rtx));
break; break;
default: default:
@ -5035,13 +5035,13 @@ expand_a_rotate (rtx operands[])
/* Rotate by AMOUNT bits. */ /* Rotate by AMOUNT bits. */
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
emit_insn (gen_rotlqi3_1 (dst, dst, rotate_amount)); emit_insn (gen_rotlqi3_1 (dst, dst, rotate_amount));
break; break;
case HImode: case E_HImode:
emit_insn (gen_rotlhi3_1 (dst, dst, rotate_amount)); emit_insn (gen_rotlhi3_1 (dst, dst, rotate_amount));
break; break;
case SImode: case E_SImode:
emit_insn (gen_rotlsi3_1 (dst, dst, rotate_amount)); emit_insn (gen_rotlsi3_1 (dst, dst, rotate_amount));
break; break;
default: default:
@ -5070,13 +5070,13 @@ output_a_rotate (enum rtx_code code, rtx *operands)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
rotate_mode = QIshift; rotate_mode = QIshift;
break; break;
case HImode: case E_HImode:
rotate_mode = HIshift; rotate_mode = HIshift;
break; break;
case SImode: case E_SImode:
rotate_mode = SIshift; rotate_mode = SIshift;
break; break;
default: default:
@ -5123,13 +5123,13 @@ output_a_rotate (enum rtx_code code, rtx *operands)
{ {
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
/* This code works on any family. */ /* This code works on any family. */
insn_buf = "xor.b\t%s0,%t0\n\txor.b\t%t0,%s0\n\txor.b\t%s0,%t0"; insn_buf = "xor.b\t%s0,%t0\n\txor.b\t%t0,%s0\n\txor.b\t%s0,%t0";
output_asm_insn (insn_buf, operands); output_asm_insn (insn_buf, operands);
break; break;
case SImode: case E_SImode:
/* This code works on the H8/300H and H8S. */ /* This code works on the H8/300H and H8S. */
insn_buf = "xor.w\t%e0,%f0\n\txor.w\t%f0,%e0\n\txor.w\t%e0,%f0"; insn_buf = "xor.w\t%e0,%f0\n\txor.w\t%f0,%e0\n\txor.w\t%e0,%f0";
output_asm_insn (insn_buf, operands); output_asm_insn (insn_buf, operands);

File diff suppressed because it is too large Load diff

View file

@ -11592,20 +11592,20 @@
tmp = "pandn"; tmp = "pandn";
switch (<MODE>mode) switch (<MODE>mode)
{ {
case V64QImode: case E_V64QImode:
case V32HImode: case E_V32HImode:
/* There is no vpandnb or vpandnw instruction, nor vpandn for /* There is no vpandnb or vpandnw instruction, nor vpandn for
512-bit vectors. Use vpandnq instead. */ 512-bit vectors. Use vpandnq instead. */
ssesuffix = "q"; ssesuffix = "q";
break; break;
case V16SImode: case E_V16SImode:
case V8DImode: case E_V8DImode:
ssesuffix = "<ssemodesuffix>"; ssesuffix = "<ssemodesuffix>";
break; break;
case V8SImode: case E_V8SImode:
case V4DImode: case E_V4DImode:
case V4SImode: case E_V4SImode:
case V2DImode: case E_V2DImode:
ssesuffix = TARGET_AVX512VL ? "<ssemodesuffix>" : ""; ssesuffix = TARGET_AVX512VL ? "<ssemodesuffix>" : "";
break; break;
default: default:
@ -11722,14 +11722,14 @@
tmp = "p<logic>"; tmp = "p<logic>";
switch (<MODE>mode) switch (<MODE>mode)
{ {
case V16SImode: case E_V16SImode:
case V8DImode: case E_V8DImode:
ssesuffix = "<ssemodesuffix>"; ssesuffix = "<ssemodesuffix>";
break; break;
case V8SImode: case E_V8SImode:
case V4DImode: case E_V4DImode:
case V4SImode: case E_V4SImode:
case V2DImode: case E_V2DImode:
ssesuffix = TARGET_AVX512VL ? "<ssemodesuffix>" : ""; ssesuffix = TARGET_AVX512VL ? "<ssemodesuffix>" : "";
break; break;
default: default:
@ -11819,14 +11819,14 @@
tmp = "p<logic>"; tmp = "p<logic>";
switch (<MODE>mode) switch (<MODE>mode)
{ {
case V64QImode: case E_V64QImode:
case V32HImode: case E_V32HImode:
ssesuffix = "q"; ssesuffix = "q";
break; break;
case V32QImode: case E_V32QImode:
case V16HImode: case E_V16HImode:
case V16QImode: case E_V16QImode:
case V8HImode: case E_V8HImode:
ssesuffix = TARGET_AVX512VL ? "q" : ""; ssesuffix = TARGET_AVX512VL ? "q" : "";
break; break;
default: default:

View file

@ -1909,7 +1909,7 @@ ia64_expand_vecint_compare (enum rtx_code code, machine_mode mode,
{ {
switch (mode) switch (mode)
{ {
case V2SImode: case E_V2SImode:
{ {
rtx t1, t2, mask; rtx t1, t2, mask;
@ -1928,8 +1928,8 @@ ia64_expand_vecint_compare (enum rtx_code code, machine_mode mode,
} }
break; break;
case V8QImode: case E_V8QImode:
case V4HImode: case E_V4HImode:
/* Perform a parallel unsigned saturating subtraction. */ /* Perform a parallel unsigned saturating subtraction. */
x = gen_reg_rtx (mode); x = gen_reg_rtx (mode);
emit_insn (gen_rtx_SET (x, gen_rtx_US_MINUS (mode, op0, op1))); emit_insn (gen_rtx_SET (x, gen_rtx_US_MINUS (mode, op0, op1)));
@ -2447,10 +2447,10 @@ ia64_expand_atomic_op (enum rtx_code code, rtx mem, rtx val,
case MEMMODEL_CONSUME: case MEMMODEL_CONSUME:
switch (mode) switch (mode)
{ {
case QImode: icode = CODE_FOR_cmpxchg_acq_qi; break; case E_QImode: icode = CODE_FOR_cmpxchg_acq_qi; break;
case HImode: icode = CODE_FOR_cmpxchg_acq_hi; break; case E_HImode: icode = CODE_FOR_cmpxchg_acq_hi; break;
case SImode: icode = CODE_FOR_cmpxchg_acq_si; break; case E_SImode: icode = CODE_FOR_cmpxchg_acq_si; break;
case DImode: icode = CODE_FOR_cmpxchg_acq_di; break; case E_DImode: icode = CODE_FOR_cmpxchg_acq_di; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -2463,10 +2463,10 @@ ia64_expand_atomic_op (enum rtx_code code, rtx mem, rtx val,
case MEMMODEL_SYNC_SEQ_CST: case MEMMODEL_SYNC_SEQ_CST:
switch (mode) switch (mode)
{ {
case QImode: icode = CODE_FOR_cmpxchg_rel_qi; break; case E_QImode: icode = CODE_FOR_cmpxchg_rel_qi; break;
case HImode: icode = CODE_FOR_cmpxchg_rel_hi; break; case E_HImode: icode = CODE_FOR_cmpxchg_rel_hi; break;
case SImode: icode = CODE_FOR_cmpxchg_rel_si; break; case E_SImode: icode = CODE_FOR_cmpxchg_rel_si; break;
case DImode: icode = CODE_FOR_cmpxchg_rel_di; break; case E_DImode: icode = CODE_FOR_cmpxchg_rel_di; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -4899,9 +4899,9 @@ ia64_arg_type (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
return FS; return FS;
case DFmode: case E_DFmode:
return FT; return FT;
default: default:
return I64; return I64;
@ -7895,15 +7895,15 @@ ia64_mode_to_int (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case BImode: return 0; /* SPEC_MODE_FIRST */ case E_BImode: return 0; /* SPEC_MODE_FIRST */
case QImode: return 1; /* SPEC_MODE_FOR_EXTEND_FIRST */ case E_QImode: return 1; /* SPEC_MODE_FOR_EXTEND_FIRST */
case HImode: return 2; case E_HImode: return 2;
case SImode: return 3; /* SPEC_MODE_FOR_EXTEND_LAST */ case E_SImode: return 3; /* SPEC_MODE_FOR_EXTEND_LAST */
case DImode: return 4; case E_DImode: return 4;
case SFmode: return 5; case E_SFmode: return 5;
case DFmode: return 6; case E_DFmode: return 6;
case XFmode: return 7; case E_XFmode: return 7;
case TImode: case E_TImode:
/* ??? This mode needs testing. Bypasses for ldfp8 instruction are not /* ??? This mode needs testing. Bypasses for ldfp8 instruction are not
mentioned in itanium[12].md. Predicate fp_register_operand also mentioned in itanium[12].md. Predicate fp_register_operand also
needs to be defined. Bottom line: better disable for now. */ needs to be defined. Bottom line: better disable for now. */
@ -10968,20 +10968,20 @@ ia64_scalar_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
return true; return true;
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
case XFmode: case E_XFmode:
case RFmode: case E_RFmode:
return true; return true;
case TFmode: case E_TFmode:
return true; return true;
default: default:
@ -10994,12 +10994,12 @@ ia64_vector_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case V8QImode: case E_V8QImode:
case V4HImode: case E_V4HImode:
case V2SImode: case E_V2SImode:
return true; return true;
case V2SFmode: case E_V2SFmode:
return true; return true;
default: default:
@ -11438,8 +11438,8 @@ expand_vec_perm_broadcast (struct expand_vec_perm_d *d)
switch (d->vmode) switch (d->vmode)
{ {
case V2SImode: case E_V2SImode:
case V2SFmode: case E_V2SFmode:
/* Implementable by interleave. */ /* Implementable by interleave. */
perm2[0] = elt; perm2[0] = elt;
perm2[1] = elt + 2; perm2[1] = elt + 2;
@ -11447,7 +11447,7 @@ expand_vec_perm_broadcast (struct expand_vec_perm_d *d)
gcc_assert (ok); gcc_assert (ok);
break; break;
case V8QImode: case E_V8QImode:
/* Implementable by extract + broadcast. */ /* Implementable by extract + broadcast. */
if (BYTES_BIG_ENDIAN) if (BYTES_BIG_ENDIAN)
elt = 7 - elt; elt = 7 - elt;
@ -11458,7 +11458,7 @@ expand_vec_perm_broadcast (struct expand_vec_perm_d *d)
emit_insn (gen_mux1_brcst_qi (d->target, gen_lowpart (QImode, temp))); emit_insn (gen_mux1_brcst_qi (d->target, gen_lowpart (QImode, temp)));
break; break;
case V4HImode: case E_V4HImode:
/* Should have been matched directly by vec_select. */ /* Should have been matched directly by vec_select. */
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -624,17 +624,17 @@ iq2000_move_1word (rtx operands[], rtx_insn *insn, int unsignedp)
{ {
default: default:
break; break;
case SFmode: case E_SFmode:
ret = "lw\t%0,%1"; ret = "lw\t%0,%1";
break; break;
case SImode: case E_SImode:
case CCmode: case E_CCmode:
ret = "lw\t%0,%1"; ret = "lw\t%0,%1";
break; break;
case HImode: case E_HImode:
ret = (unsignedp) ? "lhu\t%0,%1" : "lh\t%0,%1"; ret = (unsignedp) ? "lhu\t%0,%1" : "lh\t%0,%1";
break; break;
case QImode: case E_QImode:
ret = (unsignedp) ? "lbu\t%0,%1" : "lb\t%0,%1"; ret = (unsignedp) ? "lbu\t%0,%1" : "lb\t%0,%1";
break; break;
} }
@ -734,10 +734,10 @@ iq2000_move_1word (rtx operands[], rtx_insn *insn, int unsignedp)
{ {
switch (mode) switch (mode)
{ {
case SFmode: ret = "sw\t%1,%0"; break; case E_SFmode: ret = "sw\t%1,%0"; break;
case SImode: ret = "sw\t%1,%0"; break; case E_SImode: ret = "sw\t%1,%0"; break;
case HImode: ret = "sh\t%1,%0"; break; case E_HImode: ret = "sh\t%1,%0"; break;
case QImode: ret = "sb\t%1,%0"; break; case E_QImode: ret = "sb\t%1,%0"; break;
default: break; default: break;
} }
} }
@ -747,10 +747,10 @@ iq2000_move_1word (rtx operands[], rtx_insn *insn, int unsignedp)
{ {
switch (mode) switch (mode)
{ {
case SFmode: ret = "sw\t%z1,%0"; break; case E_SFmode: ret = "sw\t%z1,%0"; break;
case SImode: ret = "sw\t%z1,%0"; break; case E_SImode: ret = "sw\t%z1,%0"; break;
case HImode: ret = "sh\t%z1,%0"; break; case E_HImode: ret = "sh\t%z1,%0"; break;
case QImode: ret = "sb\t%z1,%0"; break; case E_QImode: ret = "sb\t%z1,%0"; break;
default: break; default: break;
} }
} }
@ -759,10 +759,10 @@ iq2000_move_1word (rtx operands[], rtx_insn *insn, int unsignedp)
{ {
switch (mode) switch (mode)
{ {
case SFmode: ret = "sw\t%.,%0"; break; case E_SFmode: ret = "sw\t%.,%0"; break;
case SImode: ret = "sw\t%.,%0"; break; case E_SImode: ret = "sw\t%.,%0"; break;
case HImode: ret = "sh\t%.,%0"; break; case E_HImode: ret = "sh\t%.,%0"; break;
case QImode: ret = "sb\t%.,%0"; break; case E_QImode: ret = "sb\t%.,%0"; break;
default: break; default: break;
} }
} }
@ -1152,7 +1152,7 @@ iq2000_function_arg_advance (cumulative_args_t cum_v, machine_mode mode,
cum->arg_number++; cum->arg_number++;
switch (mode) switch (mode)
{ {
case VOIDmode: case E_VOIDmode:
break; break;
default: default:
@ -1164,37 +1164,37 @@ iq2000_function_arg_advance (cumulative_args_t cum_v, machine_mode mode,
/ UNITS_PER_WORD); / UNITS_PER_WORD);
break; break;
case BLKmode: case E_BLKmode:
cum->gp_reg_found = 1; cum->gp_reg_found = 1;
cum->arg_words += ((int_size_in_bytes (type) + UNITS_PER_WORD - 1) cum->arg_words += ((int_size_in_bytes (type) + UNITS_PER_WORD - 1)
/ UNITS_PER_WORD); / UNITS_PER_WORD);
break; break;
case SFmode: case E_SFmode:
cum->arg_words ++; cum->arg_words ++;
if (! cum->gp_reg_found && cum->arg_number <= 2) if (! cum->gp_reg_found && cum->arg_number <= 2)
cum->fp_code += 1 << ((cum->arg_number - 1) * 2); cum->fp_code += 1 << ((cum->arg_number - 1) * 2);
break; break;
case DFmode: case E_DFmode:
cum->arg_words += 2; cum->arg_words += 2;
if (! cum->gp_reg_found && cum->arg_number <= 2) if (! cum->gp_reg_found && cum->arg_number <= 2)
cum->fp_code += 2 << ((cum->arg_number - 1) * 2); cum->fp_code += 2 << ((cum->arg_number - 1) * 2);
break; break;
case DImode: case E_DImode:
cum->gp_reg_found = 1; cum->gp_reg_found = 1;
cum->arg_words += 2; cum->arg_words += 2;
break; break;
case TImode: case E_TImode:
cum->gp_reg_found = 1; cum->gp_reg_found = 1;
cum->arg_words += 4; cum->arg_words += 4;
break; break;
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
cum->gp_reg_found = 1; cum->gp_reg_found = 1;
cum->arg_words ++; cum->arg_words ++;
break; break;
@ -1232,11 +1232,11 @@ iq2000_function_arg (cumulative_args_t cum_v, machine_mode mode,
cum->last_arg_fp = 0; cum->last_arg_fp = 0;
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
break; break;
case DFmode: case E_DFmode:
cum->arg_words += cum->arg_words & 1; cum->arg_words += cum->arg_words & 1;
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
@ -1247,25 +1247,25 @@ iq2000_function_arg (cumulative_args_t cum_v, machine_mode mode,
|| GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT); || GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT);
/* FALLTHRU */ /* FALLTHRU */
case BLKmode: case E_BLKmode:
if (type != NULL_TREE && TYPE_ALIGN (type) > (unsigned) BITS_PER_WORD) if (type != NULL_TREE && TYPE_ALIGN (type) > (unsigned) BITS_PER_WORD)
cum->arg_words += (cum->arg_words & 1); cum->arg_words += (cum->arg_words & 1);
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
break; break;
case VOIDmode: case E_VOIDmode:
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
break; break;
case DImode: case E_DImode:
cum->arg_words += (cum->arg_words & 1); cum->arg_words += (cum->arg_words & 1);
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
break; break;
case TImode: case E_TImode:
cum->arg_words += (cum->arg_words & 3); cum->arg_words += (cum->arg_words & 3);
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
break; break;

View file

@ -666,7 +666,7 @@ m32c_preferred_reload_class (rtx x, reg_class_t rclass)
{ {
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case QImode: case E_QImode:
newclass = HL_REGS; newclass = HL_REGS;
break; break;
default: default:

View file

@ -1621,11 +1621,11 @@ output_dbcc_and_branch (rtx *operands)
to compensate for the fact that dbcc decrements in HImode. */ to compensate for the fact that dbcc decrements in HImode. */
switch (GET_MODE (operands[0])) switch (GET_MODE (operands[0]))
{ {
case SImode: case E_SImode:
output_asm_insn ("clr%.w %0\n\tsubq%.l #1,%0\n\tjpl %l1", operands); output_asm_insn ("clr%.w %0\n\tsubq%.l #1,%0\n\tjpl %l1", operands);
break; break;
case HImode: case E_HImode:
break; break;
default: default:
@ -5270,9 +5270,9 @@ rtx
m68k_libcall_value (machine_mode mode) m68k_libcall_value (machine_mode mode)
{ {
switch (mode) { switch (mode) {
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
case XFmode: case E_XFmode:
if (TARGET_68881) if (TARGET_68881)
return gen_rtx_REG (mode, FP0_REG); return gen_rtx_REG (mode, FP0_REG);
break; break;
@ -5293,9 +5293,9 @@ m68k_function_value (const_tree valtype, const_tree func ATTRIBUTE_UNUSED)
mode = TYPE_MODE (valtype); mode = TYPE_MODE (valtype);
switch (mode) { switch (mode) {
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
case XFmode: case E_XFmode:
if (TARGET_68881) if (TARGET_68881)
return gen_rtx_REG (mode, FP0_REG); return gen_rtx_REG (mode, FP0_REG);
break; break;
@ -5521,11 +5521,11 @@ sched_attr_op_type (rtx_insn *insn, bool opx_p, bool address_p)
{ {
switch (GET_MODE (op)) switch (GET_MODE (op))
{ {
case SFmode: case E_SFmode:
return OP_TYPE_IMM_W; return OP_TYPE_IMM_W;
case VOIDmode: case E_VOIDmode:
case DFmode: case E_DFmode:
return OP_TYPE_IMM_L; return OP_TYPE_IMM_L;
default: default:
@ -5539,13 +5539,13 @@ sched_attr_op_type (rtx_insn *insn, bool opx_p, bool address_p)
{ {
switch (GET_MODE (op)) switch (GET_MODE (op))
{ {
case QImode: case E_QImode:
return OP_TYPE_IMM_Q; return OP_TYPE_IMM_Q;
case HImode: case E_HImode:
return OP_TYPE_IMM_W; return OP_TYPE_IMM_W;
case SImode: case E_SImode:
return OP_TYPE_IMM_L; return OP_TYPE_IMM_L;
default: default:

View file

@ -1282,11 +1282,11 @@ mcore_output_move (rtx insn ATTRIBUTE_UNUSED, rtx operands[],
else else
switch (GET_MODE (src)) /* r-m */ switch (GET_MODE (src)) /* r-m */
{ {
case SImode: case E_SImode:
return "ldw\t%0,%1"; return "ldw\t%0,%1";
case HImode: case E_HImode:
return "ld.h\t%0,%1"; return "ld.h\t%0,%1";
case QImode: case E_QImode:
return "ld.b\t%0,%1"; return "ld.b\t%0,%1";
default: default:
gcc_unreachable (); gcc_unreachable ();
@ -1313,11 +1313,11 @@ mcore_output_move (rtx insn ATTRIBUTE_UNUSED, rtx operands[],
else if (GET_CODE (dst) == MEM) /* m-r */ else if (GET_CODE (dst) == MEM) /* m-r */
switch (GET_MODE (dst)) switch (GET_MODE (dst))
{ {
case SImode: case E_SImode:
return "stw\t%1,%0"; return "stw\t%1,%0";
case HImode: case E_HImode:
return "st.h\t%1,%0"; return "st.h\t%1,%0";
case QImode: case E_QImode:
return "st.b\t%1,%0"; return "st.b\t%1,%0";
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -1481,7 +1481,7 @@ microblaze_function_arg_advance (cumulative_args_t cum_v,
cum->arg_number++; cum->arg_number++;
switch (mode) switch (mode)
{ {
case VOIDmode: case E_VOIDmode:
break; break;
default: default:
@ -1493,33 +1493,33 @@ microblaze_function_arg_advance (cumulative_args_t cum_v,
/ UNITS_PER_WORD); / UNITS_PER_WORD);
break; break;
case BLKmode: case E_BLKmode:
cum->gp_reg_found = 1; cum->gp_reg_found = 1;
cum->arg_words += ((int_size_in_bytes (type) + UNITS_PER_WORD - 1) cum->arg_words += ((int_size_in_bytes (type) + UNITS_PER_WORD - 1)
/ UNITS_PER_WORD); / UNITS_PER_WORD);
break; break;
case SFmode: case E_SFmode:
cum->arg_words++; cum->arg_words++;
if (!cum->gp_reg_found && cum->arg_number <= 2) if (!cum->gp_reg_found && cum->arg_number <= 2)
cum->fp_code += 1 << ((cum->arg_number - 1) * 2); cum->fp_code += 1 << ((cum->arg_number - 1) * 2);
break; break;
case DFmode: case E_DFmode:
cum->arg_words += 2; cum->arg_words += 2;
if (!cum->gp_reg_found && cum->arg_number <= 2) if (!cum->gp_reg_found && cum->arg_number <= 2)
cum->fp_code += 2 << ((cum->arg_number - 1) * 2); cum->fp_code += 2 << ((cum->arg_number - 1) * 2);
break; break;
case DImode: case E_DImode:
cum->gp_reg_found = 1; cum->gp_reg_found = 1;
cum->arg_words += 2; cum->arg_words += 2;
break; break;
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case TImode: case E_TImode:
cum->gp_reg_found = 1; cum->gp_reg_found = 1;
cum->arg_words++; cum->arg_words++;
break; break;
@ -1543,21 +1543,21 @@ microblaze_function_arg (cumulative_args_t cum_v, machine_mode mode,
cum->last_arg_fp = 0; cum->last_arg_fp = 0;
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
case VOIDmode: case E_VOIDmode:
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
break; break;
default: default:
gcc_assert (GET_MODE_CLASS (mode) == MODE_COMPLEX_INT gcc_assert (GET_MODE_CLASS (mode) == MODE_COMPLEX_INT
|| GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT); || GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT);
/* FALLTHRU */ /* FALLTHRU */
case BLKmode: case E_BLKmode:
regbase = GP_ARG_FIRST; regbase = GP_ARG_FIRST;
break; break;
} }

View file

@ -7611,7 +7611,7 @@ mips16_build_call_stub (rtx retval, rtx *fn_ptr, rtx args_size, int fp_code)
general registers. */ general registers. */
switch (GET_MODE (retval)) switch (GET_MODE (retval))
{ {
case SCmode: case E_SCmode:
mips_output_32bit_xfer ('f', GP_RETURN + TARGET_BIG_ENDIAN, mips_output_32bit_xfer ('f', GP_RETURN + TARGET_BIG_ENDIAN,
TARGET_BIG_ENDIAN TARGET_BIG_ENDIAN
? FP_REG_FIRST + 2 ? FP_REG_FIRST + 2
@ -7641,16 +7641,16 @@ mips16_build_call_stub (rtx retval, rtx *fn_ptr, rtx args_size, int fp_code)
} }
break; break;
case SFmode: case E_SFmode:
mips_output_32bit_xfer ('f', GP_RETURN, FP_REG_FIRST); mips_output_32bit_xfer ('f', GP_RETURN, FP_REG_FIRST);
break; break;
case DCmode: case E_DCmode:
mips_output_64bit_xfer ('f', GP_RETURN + (8 / UNITS_PER_WORD), mips_output_64bit_xfer ('f', GP_RETURN + (8 / UNITS_PER_WORD),
FP_REG_FIRST + 2); FP_REG_FIRST + 2);
/* FALLTHRU */ /* FALLTHRU */
case DFmode: case E_DFmode:
case V2SFmode: case E_V2SFmode:
gcc_assert (TARGET_PAIRED_SINGLE_FLOAT gcc_assert (TARGET_PAIRED_SINGLE_FLOAT
|| GET_MODE (retval) != V2SFmode); || GET_MODE (retval) != V2SFmode);
mips_output_64bit_xfer ('f', GP_RETURN, FP_REG_FIRST); mips_output_64bit_xfer ('f', GP_RETURN, FP_REG_FIRST);
@ -9116,18 +9116,18 @@ mips_print_operand (FILE *file, rtx op, int letter)
case 'v': case 'v':
switch (GET_MODE (op)) switch (GET_MODE (op))
{ {
case V16QImode: case E_V16QImode:
fprintf (file, "b"); fprintf (file, "b");
break; break;
case V8HImode: case E_V8HImode:
fprintf (file, "h"); fprintf (file, "h");
break; break;
case V4SImode: case E_V4SImode:
case V4SFmode: case E_V4SFmode:
fprintf (file, "w"); fprintf (file, "w");
break; break;
case V2DImode: case E_V2DImode:
case V2DFmode: case E_V2DFmode:
fprintf (file, "d"); fprintf (file, "d");
break; break;
default: default:
@ -12974,14 +12974,14 @@ mips_mode_ok_for_mov_fmt_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case CCFmode: case E_CCFmode:
case SFmode: case E_SFmode:
return TARGET_HARD_FLOAT; return TARGET_HARD_FLOAT;
case DFmode: case E_DFmode:
return TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT; return TARGET_HARD_FLOAT && TARGET_DOUBLE_FLOAT;
case V2SFmode: case E_V2SFmode:
return TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT; return TARGET_HARD_FLOAT && TARGET_PAIRED_SINGLE_FLOAT;
default: default:
@ -13286,22 +13286,22 @@ mips_vector_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case V2SFmode: case E_V2SFmode:
return TARGET_PAIRED_SINGLE_FLOAT; return TARGET_PAIRED_SINGLE_FLOAT;
case V2HImode: case E_V2HImode:
case V4QImode: case E_V4QImode:
case V2HQmode: case E_V2HQmode:
case V2UHQmode: case E_V2UHQmode:
case V2HAmode: case E_V2HAmode:
case V2UHAmode: case E_V2UHAmode:
case V4QQmode: case E_V4QQmode:
case V4UQQmode: case E_V4UQQmode:
return TARGET_DSP; return TARGET_DSP;
case V2SImode: case E_V2SImode:
case V4HImode: case E_V4HImode:
case V8QImode: case E_V8QImode:
return TARGET_LOONGSON_VECTORS; return TARGET_LOONGSON_VECTORS;
default: default:
@ -13335,19 +13335,19 @@ mips_preferred_simd_mode (machine_mode mode)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
return V16QImode; return V16QImode;
case HImode: case E_HImode:
return V8HImode; return V8HImode;
case SImode: case E_SImode:
return V4SImode; return V4SImode;
case DImode: case E_DImode:
return V2DImode; return V2DImode;
case SFmode: case E_SFmode:
return V4SFmode; return V4SFmode;
case DFmode: case E_DFmode:
return V2DFmode; return V2DFmode;
default: default:
@ -21139,7 +21139,7 @@ mips_expand_vpc_loongson_even_odd (struct expand_vec_perm_d *d)
t1 = gen_reg_rtx (d->vmode); t1 = gen_reg_rtx (d->vmode);
switch (d->vmode) switch (d->vmode)
{ {
case V4HImode: case E_V4HImode:
emit_insn (gen_loongson_punpckhhw (t0, d->op0, d->op1)); emit_insn (gen_loongson_punpckhhw (t0, d->op0, d->op1));
emit_insn (gen_loongson_punpcklhw (t1, d->op0, d->op1)); emit_insn (gen_loongson_punpcklhw (t1, d->op0, d->op1));
if (odd) if (odd)
@ -21148,7 +21148,7 @@ mips_expand_vpc_loongson_even_odd (struct expand_vec_perm_d *d)
emit_insn (gen_loongson_punpcklhw (d->target, t1, t0)); emit_insn (gen_loongson_punpcklhw (d->target, t1, t0));
break; break;
case V8QImode: case E_V8QImode:
t2 = gen_reg_rtx (d->vmode); t2 = gen_reg_rtx (d->vmode);
t3 = gen_reg_rtx (d->vmode); t3 = gen_reg_rtx (d->vmode);
emit_insn (gen_loongson_punpckhbh (t0, d->op0, d->op1)); emit_insn (gen_loongson_punpckhbh (t0, d->op0, d->op1));
@ -21481,7 +21481,7 @@ mips_expand_vec_unpack (rtx operands[2], bool unsigned_p, bool high_p)
{ {
switch (imode) switch (imode)
{ {
case V4SImode: case E_V4SImode:
if (BYTES_BIG_ENDIAN != high_p) if (BYTES_BIG_ENDIAN != high_p)
unpack = gen_msa_ilvl_w; unpack = gen_msa_ilvl_w;
else else
@ -21490,7 +21490,7 @@ mips_expand_vec_unpack (rtx operands[2], bool unsigned_p, bool high_p)
cmpFunc = gen_msa_clt_s_w; cmpFunc = gen_msa_clt_s_w;
break; break;
case V8HImode: case E_V8HImode:
if (BYTES_BIG_ENDIAN != high_p) if (BYTES_BIG_ENDIAN != high_p)
unpack = gen_msa_ilvl_h; unpack = gen_msa_ilvl_h;
else else
@ -21499,7 +21499,7 @@ mips_expand_vec_unpack (rtx operands[2], bool unsigned_p, bool high_p)
cmpFunc = gen_msa_clt_s_h; cmpFunc = gen_msa_clt_s_h;
break; break;
case V16QImode: case E_V16QImode:
if (BYTES_BIG_ENDIAN != high_p) if (BYTES_BIG_ENDIAN != high_p)
unpack = gen_msa_ilvl_b; unpack = gen_msa_ilvl_b;
else else
@ -21532,14 +21532,14 @@ mips_expand_vec_unpack (rtx operands[2], bool unsigned_p, bool high_p)
switch (imode) switch (imode)
{ {
case V8QImode: case E_V8QImode:
if (high_p) if (high_p)
unpack = gen_loongson_punpckhbh; unpack = gen_loongson_punpckhbh;
else else
unpack = gen_loongson_punpcklbh; unpack = gen_loongson_punpcklbh;
cmpFunc = gen_loongson_pcmpgtb; cmpFunc = gen_loongson_pcmpgtb;
break; break;
case V4HImode: case E_V4HImode:
if (high_p) if (high_p)
unpack = gen_loongson_punpckhhw; unpack = gen_loongson_punpckhhw;
else else
@ -21612,10 +21612,10 @@ mips_expand_vi_broadcast (machine_mode vmode, rtx target, rtx elt)
t1 = gen_reg_rtx (vmode); t1 = gen_reg_rtx (vmode);
switch (vmode) switch (vmode)
{ {
case V8QImode: case E_V8QImode:
emit_insn (gen_loongson_vec_init1_v8qi (t1, elt)); emit_insn (gen_loongson_vec_init1_v8qi (t1, elt));
break; break;
case V4HImode: case E_V4HImode:
emit_insn (gen_loongson_vec_init1_v4hi (t1, elt)); emit_insn (gen_loongson_vec_init1_v4hi (t1, elt));
break; break;
default: default:
@ -21757,10 +21757,10 @@ mips_expand_vector_init (rtx target, rtx vals)
{ {
switch (vmode) switch (vmode)
{ {
case V16QImode: case E_V16QImode:
case V8HImode: case E_V8HImode:
case V4SImode: case E_V4SImode:
case V2DImode: case E_V2DImode:
temp = gen_rtx_CONST_VECTOR (vmode, XVEC (vals, 0)); temp = gen_rtx_CONST_VECTOR (vmode, XVEC (vals, 0));
emit_move_insn (target, temp); emit_move_insn (target, temp);
return; return;
@ -21780,18 +21780,18 @@ mips_expand_vector_init (rtx target, rtx vals)
switch (vmode) switch (vmode)
{ {
case V16QImode: case E_V16QImode:
case V8HImode: case E_V8HImode:
case V4SImode: case E_V4SImode:
case V2DImode: case E_V2DImode:
mips_emit_move (target, gen_rtx_VEC_DUPLICATE (vmode, temp)); mips_emit_move (target, gen_rtx_VEC_DUPLICATE (vmode, temp));
break; break;
case V4SFmode: case E_V4SFmode:
emit_insn (gen_msa_splati_w_f_scalar (target, temp)); emit_insn (gen_msa_splati_w_f_scalar (target, temp));
break; break;
case V2DFmode: case E_V2DFmode:
emit_insn (gen_msa_splati_d_f_scalar (target, temp)); emit_insn (gen_msa_splati_d_f_scalar (target, temp));
break; break;
@ -21814,27 +21814,27 @@ mips_expand_vector_init (rtx target, rtx vals)
emit_move_insn (temp, XVECEXP (vals, 0, i)); emit_move_insn (temp, XVECEXP (vals, 0, i));
switch (vmode) switch (vmode)
{ {
case V16QImode: case E_V16QImode:
emit_insn (gen_vec_setv16qi (target, temp, GEN_INT (i))); emit_insn (gen_vec_setv16qi (target, temp, GEN_INT (i)));
break; break;
case V8HImode: case E_V8HImode:
emit_insn (gen_vec_setv8hi (target, temp, GEN_INT (i))); emit_insn (gen_vec_setv8hi (target, temp, GEN_INT (i)));
break; break;
case V4SImode: case E_V4SImode:
emit_insn (gen_vec_setv4si (target, temp, GEN_INT (i))); emit_insn (gen_vec_setv4si (target, temp, GEN_INT (i)));
break; break;
case V2DImode: case E_V2DImode:
emit_insn (gen_vec_setv2di (target, temp, GEN_INT (i))); emit_insn (gen_vec_setv2di (target, temp, GEN_INT (i)));
break; break;
case V4SFmode: case E_V4SFmode:
emit_insn (gen_vec_setv4sf (target, temp, GEN_INT (i))); emit_insn (gen_vec_setv4sf (target, temp, GEN_INT (i)));
break; break;
case V2DFmode: case E_V2DFmode:
emit_insn (gen_vec_setv2df (target, temp, GEN_INT (i))); emit_insn (gen_vec_setv2df (target, temp, GEN_INT (i)));
break; break;
@ -21897,7 +21897,7 @@ mips_expand_vec_reduc (rtx target, rtx in, rtx (*gen)(rtx, rtx, rtx))
fold = gen_reg_rtx (vmode); fold = gen_reg_rtx (vmode);
switch (vmode) switch (vmode)
{ {
case V2SFmode: case E_V2SFmode:
/* Use PUL/PLU to produce { L, H } op { H, L }. /* Use PUL/PLU to produce { L, H } op { H, L }.
By reversing the pair order, rather than a pure interleave high, By reversing the pair order, rather than a pure interleave high,
we avoid erroneous exceptional conditions that we might otherwise we avoid erroneous exceptional conditions that we might otherwise
@ -21908,12 +21908,12 @@ mips_expand_vec_reduc (rtx target, rtx in, rtx (*gen)(rtx, rtx, rtx))
gcc_assert (ok); gcc_assert (ok);
break; break;
case V2SImode: case E_V2SImode:
/* Use interleave to produce { H, L } op { H, H }. */ /* Use interleave to produce { H, L } op { H, H }. */
emit_insn (gen_loongson_punpckhwd (fold, last, last)); emit_insn (gen_loongson_punpckhwd (fold, last, last));
break; break;
case V4HImode: case E_V4HImode:
/* Perform the first reduction with interleave, /* Perform the first reduction with interleave,
and subsequent reductions with shifts. */ and subsequent reductions with shifts. */
emit_insn (gen_loongson_punpckhwd_hi (fold, last, last)); emit_insn (gen_loongson_punpckhwd_hi (fold, last, last));
@ -21927,7 +21927,7 @@ mips_expand_vec_reduc (rtx target, rtx in, rtx (*gen)(rtx, rtx, rtx))
emit_insn (gen_vec_shr_v4hi (fold, last, x)); emit_insn (gen_vec_shr_v4hi (fold, last, x));
break; break;
case V8QImode: case E_V8QImode:
emit_insn (gen_loongson_punpckhwd_qi (fold, last, last)); emit_insn (gen_loongson_punpckhwd_qi (fold, last, last));
next = gen_reg_rtx (vmode); next = gen_reg_rtx (vmode);
@ -22008,10 +22008,10 @@ mips_expand_msa_cmp (rtx dest, enum rtx_code cond, rtx op0, rtx op1)
switch (cmp_mode) switch (cmp_mode)
{ {
case V16QImode: case E_V16QImode:
case V8HImode: case E_V8HImode:
case V4SImode: case E_V4SImode:
case V2DImode: case E_V2DImode:
switch (cond) switch (cond)
{ {
case NE: case NE:
@ -22039,8 +22039,8 @@ mips_expand_msa_cmp (rtx dest, enum rtx_code cond, rtx op0, rtx op1)
emit_move_insn (dest, gen_rtx_NOT (GET_MODE (dest), dest)); emit_move_insn (dest, gen_rtx_NOT (GET_MODE (dest), dest));
break; break;
case V4SFmode: case E_V4SFmode:
case V2DFmode: case E_V2DFmode:
switch (cond) switch (cond)
{ {
case UNORDERED: case UNORDERED:

View file

@ -6415,14 +6415,14 @@
switch (GET_MODE (diff_vec)) switch (GET_MODE (diff_vec))
{ {
case HImode: case E_HImode:
output_asm_insn ("sll\t%3,%0,1", operands); output_asm_insn ("sll\t%3,%0,1", operands);
output_asm_insn ("<d>la\t%2,%1", operands); output_asm_insn ("<d>la\t%2,%1", operands);
output_asm_insn ("<d>addu\t%3,%2,%3", operands); output_asm_insn ("<d>addu\t%3,%2,%3", operands);
output_asm_insn ("lh\t%3,0(%3)", operands); output_asm_insn ("lh\t%3,0(%3)", operands);
break; break;
case SImode: case E_SImode:
output_asm_insn ("sll\t%3,%0,2", operands); output_asm_insn ("sll\t%3,%0,2", operands);
output_asm_insn ("<d>la\t%2,%1", operands); output_asm_insn ("<d>la\t%2,%1", operands);
output_asm_insn ("<d>addu\t%3,%2,%3", operands); output_asm_insn ("<d>addu\t%3,%2,%3", operands);

View file

@ -279,18 +279,18 @@ mn10300_print_operand (FILE *file, rtx x, int code)
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case DFmode: case E_DFmode:
REAL_VALUE_TO_TARGET_DOUBLE REAL_VALUE_TO_TARGET_DOUBLE
(*CONST_DOUBLE_REAL_VALUE (x), val); (*CONST_DOUBLE_REAL_VALUE (x), val);
fprintf (file, "0x%lx", val[0]); fprintf (file, "0x%lx", val[0]);
break;; break;;
case SFmode: case E_SFmode:
REAL_VALUE_TO_TARGET_SINGLE REAL_VALUE_TO_TARGET_SINGLE
(*CONST_DOUBLE_REAL_VALUE (x), val[0]); (*CONST_DOUBLE_REAL_VALUE (x), val[0]);
fprintf (file, "0x%lx", val[0]); fprintf (file, "0x%lx", val[0]);
break;; break;;
case VOIDmode: case E_VOIDmode:
case DImode: case E_DImode:
mn10300_print_operand_address (file, mn10300_print_operand_address (file,
GEN_INT (CONST_DOUBLE_LOW (x))); GEN_INT (CONST_DOUBLE_LOW (x)));
break; break;
@ -338,15 +338,15 @@ mn10300_print_operand (FILE *file, rtx x, int code)
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case DFmode: case E_DFmode:
REAL_VALUE_TO_TARGET_DOUBLE REAL_VALUE_TO_TARGET_DOUBLE
(*CONST_DOUBLE_REAL_VALUE (x), val); (*CONST_DOUBLE_REAL_VALUE (x), val);
fprintf (file, "0x%lx", val[1]); fprintf (file, "0x%lx", val[1]);
break;; break;;
case SFmode: case E_SFmode:
gcc_unreachable (); gcc_unreachable ();
case VOIDmode: case E_VOIDmode:
case DImode: case E_DImode:
mn10300_print_operand_address (file, mn10300_print_operand_address (file,
GEN_INT (CONST_DOUBLE_HIGH (x))); GEN_INT (CONST_DOUBLE_HIGH (x)));
break; break;
@ -2672,13 +2672,13 @@ cc_flags_for_mode (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case CCmode: case E_CCmode:
return CC_FLAG_Z | CC_FLAG_N | CC_FLAG_C | CC_FLAG_V; return CC_FLAG_Z | CC_FLAG_N | CC_FLAG_C | CC_FLAG_V;
case CCZNCmode: case E_CCZNCmode:
return CC_FLAG_Z | CC_FLAG_N | CC_FLAG_C; return CC_FLAG_Z | CC_FLAG_N | CC_FLAG_C;
case CCZNmode: case E_CCZNmode:
return CC_FLAG_Z | CC_FLAG_N; return CC_FLAG_Z | CC_FLAG_N;
case CC_FLOATmode: case E_CC_FLOATmode:
return -1; return -1;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -3547,10 +3547,10 @@ msp430_print_operand (FILE * file, rtx op, int letter)
case 'b': case 'b':
switch (GET_MODE (op)) switch (GET_MODE (op))
{ {
case QImode: fprintf (file, ".B"); return; case E_QImode: fprintf (file, ".B"); return;
case HImode: fprintf (file, ".W"); return; case E_HImode: fprintf (file, ".W"); return;
case PSImode: fprintf (file, ".A"); return; case E_PSImode: fprintf (file, ".A"); return;
case SImode: fprintf (file, ".A"); return; case E_SImode: fprintf (file, ".A"); return;
default: default:
return; return;
} }

View file

@ -114,21 +114,21 @@ nds32_mem_format (rtx op)
switch (mode_test) switch (mode_test)
{ {
case QImode: case E_QImode:
/* 333 format. */ /* 333 format. */
if (val >= 0 && val < 8 && regno < 8) if (val >= 0 && val < 8 && regno < 8)
return ADDRESS_LO_REG_IMM3U; return ADDRESS_LO_REG_IMM3U;
break; break;
case HImode: case E_HImode:
/* 333 format. */ /* 333 format. */
if (val >= 0 && val < 16 && (val % 2 == 0) && regno < 8) if (val >= 0 && val < 16 && (val % 2 == 0) && regno < 8)
return ADDRESS_LO_REG_IMM3U; return ADDRESS_LO_REG_IMM3U;
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
/* fp imply 37 format. */ /* fp imply 37 format. */
if ((regno == FP_REGNUM) && if ((regno == FP_REGNUM) &&
(val >= 0 && val < 512 && (val % 4 == 0))) (val >= 0 && val < 512 && (val % 4 == 0)))
@ -802,13 +802,13 @@ nds32_output_casesi_pc_relative (rtx *operands)
where m is 0, 1, or 2 to load address-diff value from table. */ where m is 0, 1, or 2 to load address-diff value from table. */
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
output_asm_insn ("lb\t%2, [$ta + %0 << 0]", operands); output_asm_insn ("lb\t%2, [$ta + %0 << 0]", operands);
break; break;
case HImode: case E_HImode:
output_asm_insn ("lh\t%2, [$ta + %0 << 1]", operands); output_asm_insn ("lh\t%2, [$ta + %0 << 1]", operands);
break; break;
case SImode: case E_SImode:
output_asm_insn ("lw\t%2, [$ta + %0 << 2]", operands); output_asm_insn ("lw\t%2, [$ta + %0 << 2]", operands);
break; break;
default: default:

View file

@ -897,13 +897,13 @@ enum reg_class
{ \ { \
switch (GET_MODE (body)) \ switch (GET_MODE (body)) \
{ \ { \
case QImode: \ case E_QImode: \
asm_fprintf (stream, "\t.byte\t.L%d-.L%d\n", value, rel); \ asm_fprintf (stream, "\t.byte\t.L%d-.L%d\n", value, rel); \
break; \ break; \
case HImode: \ case E_HImode: \
asm_fprintf (stream, "\t.short\t.L%d-.L%d\n", value, rel); \ asm_fprintf (stream, "\t.short\t.L%d-.L%d\n", value, rel); \
break; \ break; \
case SImode: \ case E_SImode: \
asm_fprintf (stream, "\t.word\t.L%d-.L%d\n", value, rel); \ asm_fprintf (stream, "\t.word\t.L%d-.L%d\n", value, rel); \
break; \ break; \
default: \ default: \

View file

@ -220,30 +220,30 @@ nvptx_ptx_type_from_mode (machine_mode mode, bool promote)
{ {
switch (mode) switch (mode)
{ {
case BLKmode: case E_BLKmode:
return ".b8"; return ".b8";
case BImode: case E_BImode:
return ".pred"; return ".pred";
case QImode: case E_QImode:
if (promote) if (promote)
return ".u32"; return ".u32";
else else
return ".u8"; return ".u8";
case HImode: case E_HImode:
return ".u16"; return ".u16";
case SImode: case E_SImode:
return ".u32"; return ".u32";
case DImode: case E_DImode:
return ".u64"; return ".u64";
case SFmode: case E_SFmode:
return ".f32"; return ".f32";
case DFmode: case E_DFmode:
return ".f64"; return ".f64";
case V2SImode: case E_V2SImode:
return ".v2.u32"; return ".v2.u32";
case V2DImode: case E_V2DImode:
return ".v2.u64"; return ".v2.u64";
default: default:
@ -1638,10 +1638,10 @@ nvptx_gen_unpack (rtx dst0, rtx dst1, rtx src)
switch (GET_MODE (src)) switch (GET_MODE (src))
{ {
case DImode: case E_DImode:
res = gen_unpackdisi2 (dst0, dst1, src); res = gen_unpackdisi2 (dst0, dst1, src);
break; break;
case DFmode: case E_DFmode:
res = gen_unpackdfsi2 (dst0, dst1, src); res = gen_unpackdfsi2 (dst0, dst1, src);
break; break;
default: gcc_unreachable (); default: gcc_unreachable ();
@ -1659,10 +1659,10 @@ nvptx_gen_pack (rtx dst, rtx src0, rtx src1)
switch (GET_MODE (dst)) switch (GET_MODE (dst))
{ {
case DImode: case E_DImode:
res = gen_packsidi2 (dst, src0, src1); res = gen_packsidi2 (dst, src0, src1);
break; break;
case DFmode: case E_DFmode:
res = gen_packsidf2 (dst, src0, src1); res = gen_packsidf2 (dst, src0, src1);
break; break;
default: gcc_unreachable (); default: gcc_unreachable ();
@ -1680,14 +1680,14 @@ nvptx_gen_shuffle (rtx dst, rtx src, rtx idx, nvptx_shuffle_kind kind)
switch (GET_MODE (dst)) switch (GET_MODE (dst))
{ {
case SImode: case E_SImode:
res = gen_nvptx_shufflesi (dst, src, idx, GEN_INT (kind)); res = gen_nvptx_shufflesi (dst, src, idx, GEN_INT (kind));
break; break;
case SFmode: case E_SFmode:
res = gen_nvptx_shufflesf (dst, src, idx, GEN_INT (kind)); res = gen_nvptx_shufflesf (dst, src, idx, GEN_INT (kind));
break; break;
case DImode: case E_DImode:
case DFmode: case E_DFmode:
{ {
rtx tmp0 = gen_reg_rtx (SImode); rtx tmp0 = gen_reg_rtx (SImode);
rtx tmp1 = gen_reg_rtx (SImode); rtx tmp1 = gen_reg_rtx (SImode);
@ -1701,7 +1701,7 @@ nvptx_gen_shuffle (rtx dst, rtx src, rtx idx, nvptx_shuffle_kind kind)
end_sequence (); end_sequence ();
} }
break; break;
case BImode: case E_BImode:
{ {
rtx tmp = gen_reg_rtx (SImode); rtx tmp = gen_reg_rtx (SImode);
@ -1713,8 +1713,8 @@ nvptx_gen_shuffle (rtx dst, rtx src, rtx idx, nvptx_shuffle_kind kind)
end_sequence (); end_sequence ();
} }
break; break;
case QImode: case E_QImode:
case HImode: case E_HImode:
{ {
rtx tmp = gen_reg_rtx (SImode); rtx tmp = gen_reg_rtx (SImode);
@ -1776,7 +1776,7 @@ nvptx_gen_wcast (rtx reg, propagate_mask pm, unsigned rep, wcast_data_t *data)
switch (mode) switch (mode)
{ {
case BImode: case E_BImode:
{ {
rtx tmp = gen_reg_rtx (SImode); rtx tmp = gen_reg_rtx (SImode);
@ -5490,9 +5490,9 @@ nvptx_preferred_simd_mode (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
return V2DImode; return V2DImode;
case SImode: case E_SImode:
return V2SImode; return V2SImode;
default: default:

View file

@ -6067,19 +6067,19 @@ pa_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
{ {
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
sri->icode = CODE_FOR_reload_insi_r1; sri->icode = CODE_FOR_reload_insi_r1;
break; break;
case DImode: case E_DImode:
sri->icode = CODE_FOR_reload_indi_r1; sri->icode = CODE_FOR_reload_indi_r1;
break; break;
case SFmode: case E_SFmode:
sri->icode = CODE_FOR_reload_insf_r1; sri->icode = CODE_FOR_reload_insf_r1;
break; break;
case DFmode: case E_DFmode:
sri->icode = CODE_FOR_reload_indf_r1; sri->icode = CODE_FOR_reload_indf_r1;
break; break;
@ -6101,11 +6101,11 @@ pa_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
{ {
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
sri->icode = CODE_FOR_reload_insi_r1; sri->icode = CODE_FOR_reload_insi_r1;
break; break;
case DImode: case E_DImode:
sri->icode = CODE_FOR_reload_indi_r1; sri->icode = CODE_FOR_reload_indi_r1;
break; break;

View file

@ -272,9 +272,9 @@
assumed in the instruction encoding. */ assumed in the instruction encoding. */
switch (mode) switch (mode)
{ {
case BLKmode: case E_BLKmode:
case QImode: case E_QImode:
case HImode: case E_HImode:
return true; return true;
default: default:

View file

@ -5687,23 +5687,23 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
switch (TYPE_MODE (TREE_TYPE (arg0_type))) switch (TYPE_MODE (TREE_TYPE (arg0_type)))
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
{ {
/* For scalar types just use a multiply expression. */ /* For scalar types just use a multiply expression. */
return fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (arg0), arg0, return fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (arg0), arg0,
fold_convert (TREE_TYPE (arg0), arg1)); fold_convert (TREE_TYPE (arg0), arg1));
} }
case SFmode: case E_SFmode:
{ {
/* For floats use the xvmulsp instruction directly. */ /* For floats use the xvmulsp instruction directly. */
tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULSP]; tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULSP];
return build_call_expr (call, 2, arg0, arg1); return build_call_expr (call, 2, arg0, arg1);
} }
case DFmode: case E_DFmode:
{ {
/* For doubles use the xvmuldp instruction directly. */ /* For doubles use the xvmuldp instruction directly. */
tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULDP]; tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULDP];
@ -5751,13 +5751,13 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
vec_cmpeq (va, vb)). */ vec_cmpeq (va, vb)). */
/* Note: vec_nand also works but opt changes vec_nand's /* Note: vec_nand also works but opt changes vec_nand's
to vec_nor's anyway. */ to vec_nor's anyway. */
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
{ {
/* call = vec_cmpeq (va, vb) /* call = vec_cmpeq (va, vb)
result = vec_nor (call, call). */ result = vec_nor (call, call). */
@ -5815,7 +5815,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
/* For {un}signed ints, /* For {un}signed ints,
vec_adde (va, vb, carryv) == vec_add (vec_add (va, vb), vec_adde (va, vb, carryv) == vec_add (vec_add (va, vb),
vec_and (carryv, 0x1)). */ vec_and (carryv, 0x1)). */
case SImode: case E_SImode:
{ {
vec<tree, va_gc> *params = make_tree_vector (); vec<tree, va_gc> *params = make_tree_vector ();
vec_safe_push (params, arg0); vec_safe_push (params, arg0);
@ -5835,7 +5835,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
} }
/* For {un}signed __int128s use the vaddeuqm instruction /* For {un}signed __int128s use the vaddeuqm instruction
directly. */ directly. */
case TImode: case E_TImode:
{ {
tree adde_bii = rs6000_builtin_decls[P8V_BUILTIN_VEC_VADDEUQM]; tree adde_bii = rs6000_builtin_decls[P8V_BUILTIN_VEC_VADDEUQM];
return altivec_resolve_overloaded_builtin (loc, adde_bii, return altivec_resolve_overloaded_builtin (loc, adde_bii,
@ -5881,7 +5881,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
vec_or (vec_addc (va, vb), vec_or (vec_addc (va, vb),
vec_addc (vec_add (va, vb), vec_addc (vec_add (va, vb),
vec_and (carryv, 0x1))). */ vec_and (carryv, 0x1))). */
case SImode: case E_SImode:
{ {
/* Use save_expr to ensure that operands used more than once /* Use save_expr to ensure that operands used more than once
that may have side effects (like calls) are only evaluated that may have side effects (like calls) are only evaluated
@ -5917,7 +5917,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
params); params);
} }
/* For {un}signed __int128s use the vaddecuq instruction. */ /* For {un}signed __int128s use the vaddecuq instruction. */
case TImode: case E_TImode:
{ {
tree VADDECUQ_bii = rs6000_builtin_decls[P8V_BUILTIN_VEC_VADDECUQ]; tree VADDECUQ_bii = rs6000_builtin_decls[P8V_BUILTIN_VEC_VADDECUQ];
return altivec_resolve_overloaded_builtin (loc, VADDECUQ_bii, return altivec_resolve_overloaded_builtin (loc, VADDECUQ_bii,
@ -5969,28 +5969,28 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
unsigned_p = TYPE_UNSIGNED (type); unsigned_p = TYPE_UNSIGNED (type);
switch (TYPE_MODE (type)) switch (TYPE_MODE (type))
{ {
case TImode: case E_TImode:
type = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node); type = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node);
size = 1; size = 1;
break; break;
case DImode: case E_DImode:
type = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node); type = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node);
size = 2; size = 2;
break; break;
case SImode: case E_SImode:
type = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node); type = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node);
size = 4; size = 4;
break; break;
case HImode: case E_HImode:
type = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node); type = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node);
size = 8; size = 8;
break; break;
case QImode: case E_QImode:
type = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node); type = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node);
size = 16; size = 16;
break; break;
case SFmode: type = V4SF_type_node; size = 4; break; case E_SFmode: type = V4SF_type_node; size = 4; break;
case DFmode: type = V2DF_type_node; size = 2; break; case E_DFmode: type = V2DF_type_node; size = 2; break;
default: default:
goto bad; goto bad;
} }
@ -6062,33 +6062,33 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
default: default:
break; break;
case V1TImode: case E_V1TImode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V1TI]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V1TI];
break; break;
case V2DFmode: case E_V2DFmode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF];
break; break;
case V2DImode: case E_V2DImode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI];
break; break;
case V4SFmode: case E_V4SFmode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF];
break; break;
case V4SImode: case E_V4SImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI];
break; break;
case V8HImode: case E_V8HImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI];
break; break;
case V16QImode: case E_V16QImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI];
break; break;
@ -6104,27 +6104,27 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
default: default:
break; break;
case V2DFmode: case E_V2DFmode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF];
break; break;
case V2DImode: case E_V2DImode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI];
break; break;
case V4SFmode: case E_V4SFmode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF];
break; break;
case V4SImode: case E_V4SImode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI];
break; break;
case V8HImode: case E_V8HImode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI];
break; break;
case V16QImode: case E_V16QImode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI];
break; break;
} }

File diff suppressed because it is too large Load diff

View file

@ -650,17 +650,17 @@
switch (mode) switch (mode)
{ {
case KFmode: case E_KFmode:
case IFmode: case E_IFmode:
case TFmode: case E_TFmode:
case DFmode: case E_DFmode:
case SFmode: case E_SFmode:
return 0; return 0;
case DImode: case E_DImode:
return (num_insns_constant (op, DImode) <= 2); return (num_insns_constant (op, DImode) <= 2);
case SImode: case E_SImode:
return 1; return 1;
default: default:
@ -1932,12 +1932,12 @@
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
break; break;
case DImode: case E_DImode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
return 0; return 0;
break; break;
@ -1992,20 +1992,20 @@
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
break; break;
/* Do not fuse 64-bit DImode in 32-bit since it splits into two /* Do not fuse 64-bit DImode in 32-bit since it splits into two
separate instructions. */ separate instructions. */
case DImode: case E_DImode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
return 0; return 0;
break; break;
/* ISA 2.08/power8 only had fusion of GPR loads. */ /* ISA 2.08/power8 only had fusion of GPR loads. */
case SFmode: case E_SFmode:
if (!TARGET_P9_FUSION) if (!TARGET_P9_FUSION)
return 0; return 0;
break; break;
@ -2013,7 +2013,7 @@
/* ISA 2.08/power8 only had fusion of GPR loads. Do not allow 64-bit /* ISA 2.08/power8 only had fusion of GPR loads. Do not allow 64-bit
DFmode in 32-bit if -msoft-float since it splits into two separate DFmode in 32-bit if -msoft-float since it splits into two separate
instructions. */ instructions. */
case DFmode: case E_DFmode:
if ((!TARGET_POWERPC64 && !TARGET_DF_FPR) || !TARGET_P9_FUSION) if ((!TARGET_POWERPC64 && !TARGET_DF_FPR) || !TARGET_P9_FUSION)
return 0; return 0;
break; break;
@ -2057,15 +2057,15 @@
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case SFmode: case E_SFmode:
break; break;
/* Do not fuse 64-bit DImode in 32-bit since it splits into two /* Do not fuse 64-bit DImode in 32-bit since it splits into two
separate instructions. */ separate instructions. */
case DImode: case E_DImode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
return 0; return 0;
break; break;
@ -2073,7 +2073,7 @@
/* Do not allow 64-bit DFmode in 32-bit if -msoft-float since it splits /* Do not allow 64-bit DFmode in 32-bit if -msoft-float since it splits
into two separate instructions. Do allow fusion if we have hardware into two separate instructions. Do allow fusion if we have hardware
floating point. */ floating point. */
case DFmode: case E_DFmode:
if (!TARGET_POWERPC64 && !TARGET_DF_FPR) if (!TARGET_POWERPC64 && !TARGET_DF_FPR)
return 0; return 0;
break; break;

View file

@ -622,17 +622,17 @@
switch (mode) switch (mode)
{ {
case KFmode: case E_KFmode:
case IFmode: case E_IFmode:
case TFmode: case E_TFmode:
case DFmode: case E_DFmode:
case SFmode: case E_SFmode:
return 0; return 0;
case DImode: case E_DImode:
return (num_insns_constant (op, DImode) <= 2); return (num_insns_constant (op, DImode) <= 2);
case SImode: case E_SImode:
return 1; return 1;
default: default:
@ -1834,12 +1834,12 @@
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
break; break;
case DImode: case E_DImode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
return 0; return 0;
break; break;
@ -1894,20 +1894,20 @@
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
break; break;
/* Do not fuse 64-bit DImode in 32-bit since it splits into two /* Do not fuse 64-bit DImode in 32-bit since it splits into two
separate instructions. */ separate instructions. */
case DImode: case E_DImode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
return 0; return 0;
break; break;
/* ISA 2.08/power8 only had fusion of GPR loads. */ /* ISA 2.08/power8 only had fusion of GPR loads. */
case SFmode: case E_SFmode:
if (!TARGET_P9_FUSION) if (!TARGET_P9_FUSION)
return 0; return 0;
break; break;
@ -1915,7 +1915,7 @@
/* ISA 2.08/power8 only had fusion of GPR loads. Do not allow 64-bit /* ISA 2.08/power8 only had fusion of GPR loads. Do not allow 64-bit
DFmode in 32-bit if -msoft-float since it splits into two separate DFmode in 32-bit if -msoft-float since it splits into two separate
instructions. */ instructions. */
case DFmode: case E_DFmode:
if ((!TARGET_POWERPC64 && !TARGET_DF_FPR) || !TARGET_P9_FUSION) if ((!TARGET_POWERPC64 && !TARGET_DF_FPR) || !TARGET_P9_FUSION)
return 0; return 0;
break; break;
@ -1959,15 +1959,15 @@
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case SFmode: case E_SFmode:
break; break;
/* Do not fuse 64-bit DImode in 32-bit since it splits into two /* Do not fuse 64-bit DImode in 32-bit since it splits into two
separate instructions. */ separate instructions. */
case DImode: case E_DImode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
return 0; return 0;
break; break;
@ -1975,7 +1975,7 @@
/* Do not allow 64-bit DFmode in 32-bit if -msoft-float since it splits /* Do not allow 64-bit DFmode in 32-bit if -msoft-float since it splits
into two separate instructions. Do allow fusion if we have hardware into two separate instructions. Do allow fusion if we have hardware
floating point. */ floating point. */
case DFmode: case E_DFmode:
if (!TARGET_POWERPC64 && !TARGET_DF_FPR) if (!TARGET_POWERPC64 && !TARGET_DF_FPR)
return 0; return 0;
break; break;

View file

@ -5828,23 +5828,23 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
switch (TYPE_MODE (TREE_TYPE (arg0_type))) switch (TYPE_MODE (TREE_TYPE (arg0_type)))
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
{ {
/* For scalar types just use a multiply expression. */ /* For scalar types just use a multiply expression. */
return fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (arg0), arg0, return fold_build2_loc (loc, MULT_EXPR, TREE_TYPE (arg0), arg0,
fold_convert (TREE_TYPE (arg0), arg1)); fold_convert (TREE_TYPE (arg0), arg1));
} }
case SFmode: case E_SFmode:
{ {
/* For floats use the xvmulsp instruction directly. */ /* For floats use the xvmulsp instruction directly. */
tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULSP]; tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULSP];
return build_call_expr (call, 2, arg0, arg1); return build_call_expr (call, 2, arg0, arg1);
} }
case DFmode: case E_DFmode:
{ {
/* For doubles use the xvmuldp instruction directly. */ /* For doubles use the xvmuldp instruction directly. */
tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULDP]; tree call = rs6000_builtin_decls[VSX_BUILTIN_XVMULDP];
@ -5892,13 +5892,13 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
vec_cmpeq (va, vb)). */ vec_cmpeq (va, vb)). */
/* Note: vec_nand also works but opt changes vec_nand's /* Note: vec_nand also works but opt changes vec_nand's
to vec_nor's anyway. */ to vec_nor's anyway. */
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
{ {
/* call = vec_cmpeq (va, vb) /* call = vec_cmpeq (va, vb)
result = vec_nor (call, call). */ result = vec_nor (call, call). */
@ -5961,7 +5961,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
vec_and (carryv, 1)). vec_and (carryv, 1)).
vec_sube (va, vb, carryv) == vec_sub (vec_sub (va, vb), vec_sube (va, vb, carryv) == vec_sub (vec_sub (va, vb),
vec_and (carryv, 1)). */ vec_and (carryv, 1)). */
case SImode: case E_SImode:
{ {
tree add_sub_builtin; tree add_sub_builtin;
@ -5989,7 +5989,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
} }
/* For {un}signed __int128s use the vaddeuqm instruction /* For {un}signed __int128s use the vaddeuqm instruction
directly. */ directly. */
case TImode: case E_TImode:
{ {
tree bii; tree bii;
@ -6044,7 +6044,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
vec_or (vec_addc (va, vb), vec_or (vec_addc (va, vb),
vec_addc (vec_add (va, vb), vec_addc (vec_add (va, vb),
vec_and (carryv, 0x1))). */ vec_and (carryv, 0x1))). */
case SImode: case E_SImode:
{ {
/* Use save_expr to ensure that operands used more than once /* Use save_expr to ensure that operands used more than once
that may have side effects (like calls) are only evaluated that may have side effects (like calls) are only evaluated
@ -6095,7 +6095,7 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
} }
/* For {un}signed __int128s use the vaddecuq/vsubbecuq /* For {un}signed __int128s use the vaddecuq/vsubbecuq
instructions. */ instructions. */
case TImode: case E_TImode:
{ {
tree bii; tree bii;
@ -6148,28 +6148,28 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
unsigned_p = TYPE_UNSIGNED (type); unsigned_p = TYPE_UNSIGNED (type);
switch (TYPE_MODE (type)) switch (TYPE_MODE (type))
{ {
case TImode: case E_TImode:
type = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node); type = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node);
size = 1; size = 1;
break; break;
case DImode: case E_DImode:
type = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node); type = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node);
size = 2; size = 2;
break; break;
case SImode: case E_SImode:
type = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node); type = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node);
size = 4; size = 4;
break; break;
case HImode: case E_HImode:
type = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node); type = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node);
size = 8; size = 8;
break; break;
case QImode: case E_QImode:
type = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node); type = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node);
size = 16; size = 16;
break; break;
case SFmode: type = V4SF_type_node; size = 4; break; case E_SFmode: type = V4SF_type_node; size = 4; break;
case DFmode: type = V2DF_type_node; size = 2; break; case E_DFmode: type = V2DF_type_node; size = 2; break;
default: default:
goto bad; goto bad;
} }
@ -6241,33 +6241,33 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
default: default:
break; break;
case V1TImode: case E_V1TImode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V1TI]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V1TI];
break; break;
case V2DFmode: case E_V2DFmode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF];
break; break;
case V2DImode: case E_V2DImode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI];
break; break;
case V4SFmode: case E_V4SFmode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF];
break; break;
case V4SImode: case E_V4SImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI];
break; break;
case V8HImode: case E_V8HImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI];
break; break;
case V16QImode: case E_V16QImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI];
break; break;
@ -6283,27 +6283,27 @@ altivec_resolve_overloaded_builtin (location_t loc, tree fndecl,
default: default:
break; break;
case V2DFmode: case E_V2DFmode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DF];
break; break;
case V2DImode: case E_V2DImode:
call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI]; call = rs6000_builtin_decls[VSX_BUILTIN_VEC_EXT_V2DI];
break; break;
case V4SFmode: case E_V4SFmode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SF];
break; break;
case V4SImode: case E_V4SImode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V4SI];
break; break;
case V8HImode: case E_V8HImode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V8HI];
break; break;
case V16QImode: case E_V16QImode:
call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI]; call = rs6000_builtin_decls[ALTIVEC_BUILTIN_VEC_EXT_V16QI];
break; break;
} }

View file

@ -152,13 +152,13 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
{ {
switch (GET_MODE (reg)) switch (GET_MODE (reg))
{ {
case DImode: case E_DImode:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
emit_insn (gen_zero_extendqidi2 (reg, mem)); emit_insn (gen_zero_extendqidi2 (reg, mem));
break; break;
case HImode: case E_HImode:
{ {
rtx src = mem; rtx src = mem;
if (!BYTES_BIG_ENDIAN) if (!BYTES_BIG_ENDIAN)
@ -169,7 +169,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
emit_insn (gen_zero_extendhidi2 (reg, src)); emit_insn (gen_zero_extendhidi2 (reg, src));
break; break;
} }
case SImode: case E_SImode:
{ {
rtx src = mem; rtx src = mem;
if (!BYTES_BIG_ENDIAN) if (!BYTES_BIG_ENDIAN)
@ -180,7 +180,7 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
emit_insn (gen_zero_extendsidi2 (reg, src)); emit_insn (gen_zero_extendsidi2 (reg, src));
} }
break; break;
case DImode: case E_DImode:
if (!BYTES_BIG_ENDIAN) if (!BYTES_BIG_ENDIAN)
emit_insn (gen_bswapdi2 (reg, mem)); emit_insn (gen_bswapdi2 (reg, mem));
else else
@ -191,13 +191,13 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
} }
break; break;
case SImode: case E_SImode:
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
emit_insn (gen_zero_extendqisi2 (reg, mem)); emit_insn (gen_zero_extendqisi2 (reg, mem));
break; break;
case HImode: case E_HImode:
{ {
rtx src = mem; rtx src = mem;
if (!BYTES_BIG_ENDIAN) if (!BYTES_BIG_ENDIAN)
@ -208,13 +208,13 @@ do_load_for_compare (rtx reg, rtx mem, machine_mode mode)
emit_insn (gen_zero_extendhisi2 (reg, src)); emit_insn (gen_zero_extendhisi2 (reg, src));
break; break;
} }
case SImode: case E_SImode:
if (!BYTES_BIG_ENDIAN) if (!BYTES_BIG_ENDIAN)
emit_insn (gen_bswapsi2 (reg, mem)); emit_insn (gen_bswapsi2 (reg, mem));
else else
emit_insn (gen_movsi (reg, mem)); emit_insn (gen_movsi (reg, mem));
break; break;
case DImode: case E_DImode:
/* DImode is larger than the destination reg so is not expected. */ /* DImode is larger than the destination reg so is not expected. */
gcc_unreachable (); gcc_unreachable ();
break; break;

View file

@ -2904,13 +2904,13 @@ rs6000_setup_reg_addr_masks (void)
addr_mask |= RELOAD_REG_PRE_MODIFY; addr_mask |= RELOAD_REG_PRE_MODIFY;
break; break;
case DImode: case E_DImode:
if (TARGET_POWERPC64) if (TARGET_POWERPC64)
addr_mask |= RELOAD_REG_PRE_MODIFY; addr_mask |= RELOAD_REG_PRE_MODIFY;
break; break;
case DFmode: case E_DFmode:
case DDmode: case E_DDmode:
if (TARGET_DF_INSN) if (TARGET_DF_INSN)
addr_mask |= RELOAD_REG_PRE_MODIFY; addr_mask |= RELOAD_REG_PRE_MODIFY;
break; break;
@ -5533,24 +5533,24 @@ rs6000_preferred_simd_mode (machine_mode mode)
if (TARGET_VSX) if (TARGET_VSX)
switch (mode) switch (mode)
{ {
case DFmode: case E_DFmode:
return V2DFmode; return V2DFmode;
default:; default:;
} }
if (TARGET_ALTIVEC || TARGET_VSX) if (TARGET_ALTIVEC || TARGET_VSX)
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
return V4SFmode; return V4SFmode;
case TImode: case E_TImode:
return V1TImode; return V1TImode;
case DImode: case E_DImode:
return V2DImode; return V2DImode;
case SImode: case E_SImode:
return V4SImode; return V4SImode;
case HImode: case E_HImode:
return V8HImode; return V8HImode;
case QImode: case E_QImode:
return V16QImode; return V16QImode;
default:; default:;
} }
@ -6734,13 +6734,13 @@ output_vec_const_move (rtx *operands)
switch (GET_MODE (splat_vec)) switch (GET_MODE (splat_vec))
{ {
case V4SImode: case E_V4SImode:
return "vspltisw %0,%1"; return "vspltisw %0,%1";
case V8HImode: case E_V8HImode:
return "vspltish %0,%1"; return "vspltish %0,%1";
case V16QImode: case E_V16QImode:
return "vspltisb %0,%1"; return "vspltisb %0,%1";
default: default:
@ -7293,20 +7293,20 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
{ {
default: default:
break; break;
case V1TImode: case E_V1TImode:
gcc_assert (INTVAL (elt) == 0 && inner_mode == TImode); gcc_assert (INTVAL (elt) == 0 && inner_mode == TImode);
emit_move_insn (target, gen_lowpart (TImode, vec)); emit_move_insn (target, gen_lowpart (TImode, vec));
break; break;
case V2DFmode: case E_V2DFmode:
emit_insn (gen_vsx_extract_v2df (target, vec, elt)); emit_insn (gen_vsx_extract_v2df (target, vec, elt));
return; return;
case V2DImode: case E_V2DImode:
emit_insn (gen_vsx_extract_v2di (target, vec, elt)); emit_insn (gen_vsx_extract_v2di (target, vec, elt));
return; return;
case V4SFmode: case E_V4SFmode:
emit_insn (gen_vsx_extract_v4sf (target, vec, elt)); emit_insn (gen_vsx_extract_v4sf (target, vec, elt));
return; return;
case V16QImode: case E_V16QImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
{ {
emit_insn (gen_vsx_extract_v16qi (target, vec, elt)); emit_insn (gen_vsx_extract_v16qi (target, vec, elt));
@ -7314,7 +7314,7 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
} }
else else
break; break;
case V8HImode: case E_V8HImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
{ {
emit_insn (gen_vsx_extract_v8hi (target, vec, elt)); emit_insn (gen_vsx_extract_v8hi (target, vec, elt));
@ -7322,7 +7322,7 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
} }
else else
break; break;
case V4SImode: case E_V4SImode:
if (TARGET_DIRECT_MOVE_64BIT) if (TARGET_DIRECT_MOVE_64BIT)
{ {
emit_insn (gen_vsx_extract_v4si (target, vec, elt)); emit_insn (gen_vsx_extract_v4si (target, vec, elt));
@ -7345,27 +7345,27 @@ rs6000_expand_vector_extract (rtx target, rtx vec, rtx elt)
switch (mode) switch (mode)
{ {
case V2DFmode: case E_V2DFmode:
emit_insn (gen_vsx_extract_v2df_var (target, vec, elt)); emit_insn (gen_vsx_extract_v2df_var (target, vec, elt));
return; return;
case V2DImode: case E_V2DImode:
emit_insn (gen_vsx_extract_v2di_var (target, vec, elt)); emit_insn (gen_vsx_extract_v2di_var (target, vec, elt));
return; return;
case V4SFmode: case E_V4SFmode:
emit_insn (gen_vsx_extract_v4sf_var (target, vec, elt)); emit_insn (gen_vsx_extract_v4sf_var (target, vec, elt));
return; return;
case V4SImode: case E_V4SImode:
emit_insn (gen_vsx_extract_v4si_var (target, vec, elt)); emit_insn (gen_vsx_extract_v4si_var (target, vec, elt));
return; return;
case V8HImode: case E_V8HImode:
emit_insn (gen_vsx_extract_v8hi_var (target, vec, elt)); emit_insn (gen_vsx_extract_v8hi_var (target, vec, elt));
return; return;
case V16QImode: case E_V16QImode:
emit_insn (gen_vsx_extract_v16qi_var (target, vec, elt)); emit_insn (gen_vsx_extract_v16qi_var (target, vec, elt));
return; return;
@ -7689,15 +7689,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. */ /* Do the VSLO to get the value into the final location. */
switch (mode) switch (mode)
{ {
case V2DFmode: case E_V2DFmode:
emit_insn (gen_vsx_vslo_v2df (dest, src, tmp_altivec)); emit_insn (gen_vsx_vslo_v2df (dest, src, tmp_altivec));
return; return;
case V2DImode: case E_V2DImode:
emit_insn (gen_vsx_vslo_v2di (dest, src, tmp_altivec)); emit_insn (gen_vsx_vslo_v2di (dest, src, tmp_altivec));
return; return;
case V4SFmode: case E_V4SFmode:
{ {
rtx tmp_altivec_di = gen_rtx_REG (DImode, REGNO (tmp_altivec)); rtx tmp_altivec_di = gen_rtx_REG (DImode, REGNO (tmp_altivec));
rtx tmp_altivec_v4sf = gen_rtx_REG (V4SFmode, REGNO (tmp_altivec)); rtx tmp_altivec_v4sf = gen_rtx_REG (V4SFmode, REGNO (tmp_altivec));
@ -7709,9 +7709,9 @@ rs6000_split_vec_extract_var (rtx dest, rtx src, rtx element, rtx tmp_gpr,
return; return;
} }
case V4SImode: case E_V4SImode:
case V8HImode: case E_V8HImode:
case V16QImode: case E_V16QImode:
{ {
rtx tmp_altivec_di = gen_rtx_REG (DImode, REGNO (tmp_altivec)); rtx tmp_altivec_di = gen_rtx_REG (DImode, REGNO (tmp_altivec));
rtx src_v2di = gen_rtx_REG (V2DImode, REGNO (src)); rtx src_v2di = gen_rtx_REG (V2DImode, REGNO (src));
@ -8216,16 +8216,16 @@ reg_offset_addressing_ok_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case V16QImode: case E_V16QImode:
case V8HImode: case E_V8HImode:
case V4SFmode: case E_V4SFmode:
case V4SImode: case E_V4SImode:
case V2DFmode: case E_V2DFmode:
case V2DImode: case E_V2DImode:
case V1TImode: case E_V1TImode:
case TImode: case E_TImode:
case TFmode: case E_TFmode:
case KFmode: case E_KFmode:
/* AltiVec/VSX vector modes. Only reg+reg addressing was valid until the /* 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 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, a vector mode, if we want to use the VSX registers to move it around,
@ -8236,14 +8236,14 @@ reg_offset_addressing_ok_p (machine_mode mode)
return mode_supports_vsx_dform_quad (mode); return mode_supports_vsx_dform_quad (mode);
break; break;
case V2SImode: case E_V2SImode:
case V2SFmode: case E_V2SFmode:
/* Paired vector modes. Only reg+reg addressing is valid. */ /* Paired vector modes. Only reg+reg addressing is valid. */
if (TARGET_PAIRED_FLOAT) if (TARGET_PAIRED_FLOAT)
return false; return false;
break; break;
case SDmode: case E_SDmode:
/* If we can do direct load/stores of SDmode, restrict it to reg+reg /* If we can do direct load/stores of SDmode, restrict it to reg+reg
addressing for the LFIWZX and STFIWX instructions. */ addressing for the LFIWZX and STFIWX instructions. */
if (TARGET_NO_SDMODE_STACK) if (TARGET_NO_SDMODE_STACK)
@ -8484,14 +8484,14 @@ rs6000_legitimate_offset_address_p (machine_mode mode, rtx x,
extra = 0; extra = 0;
switch (mode) switch (mode)
{ {
case V2SImode: case E_V2SImode:
case V2SFmode: case E_V2SFmode:
/* Paired single modes: offset addressing isn't valid. */ /* Paired single modes: offset addressing isn't valid. */
return false; return false;
case DFmode: case E_DFmode:
case DDmode: case E_DDmode:
case DImode: case E_DImode:
/* If we are using VSX scalar loads, restrict ourselves to reg+reg /* If we are using VSX scalar loads, restrict ourselves to reg+reg
addressing. */ addressing. */
if (VECTOR_MEM_VSX_P (mode)) if (VECTOR_MEM_VSX_P (mode))
@ -8505,12 +8505,12 @@ rs6000_legitimate_offset_address_p (machine_mode mode, rtx x,
return false; return false;
break; break;
case TFmode: case E_TFmode:
case IFmode: case E_IFmode:
case KFmode: case E_KFmode:
case TDmode: case E_TDmode:
case TImode: case E_TImode:
case PTImode: case E_PTImode:
extra = 8; extra = 8;
if (!worst_case) if (!worst_case)
break; break;
@ -8685,12 +8685,12 @@ rs6000_legitimize_address (rtx x, rtx oldx ATTRIBUTE_UNUSED,
extra = 0; extra = 0;
switch (mode) switch (mode)
{ {
case TFmode: case E_TFmode:
case TDmode: case E_TDmode:
case TImode: case E_TImode:
case PTImode: case E_PTImode:
case IFmode: case E_IFmode:
case KFmode: case E_KFmode:
/* As in legitimate_offset_address_p we do not assume /* As in legitimate_offset_address_p we do not assume
worst-case. The mode here is just a hint as to the registers 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 used. A TImode is usually in gprs, but may actually be in
@ -10040,12 +10040,12 @@ rs6000_emit_set_const (rtx dest, rtx source)
c = INTVAL (source); c = INTVAL (source);
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
emit_insn (gen_rtx_SET (dest, source)); emit_insn (gen_rtx_SET (dest, source));
return true; return true;
case SImode: case E_SImode:
temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (SImode); temp = !can_create_pseudo_p () ? dest : gen_reg_rtx (SImode);
emit_insn (gen_rtx_SET (copy_rtx (temp), emit_insn (gen_rtx_SET (copy_rtx (temp),
@ -10055,7 +10055,7 @@ rs6000_emit_set_const (rtx dest, rtx source)
GEN_INT (c & 0xffff)))); GEN_INT (c & 0xffff))));
break; break;
case DImode: case E_DImode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
{ {
rtx hi, lo; rtx hi, lo;
@ -10211,21 +10211,21 @@ rs6000_const_vec (machine_mode mode)
switch (mode) switch (mode)
{ {
case V1TImode: case E_V1TImode:
subparts = 1; subparts = 1;
break; break;
case V2DFmode: case E_V2DFmode:
case V2DImode: case E_V2DImode:
subparts = 2; subparts = 2;
break; break;
case V4SFmode: case E_V4SFmode:
case V4SImode: case E_V4SImode:
subparts = 4; subparts = 4;
break; break;
case V8HImode: case E_V8HImode:
subparts = 8; subparts = 8;
break; break;
case V16QImode: case E_V16QImode:
subparts = 16; subparts = 16;
break; break;
default: default:
@ -10632,46 +10632,46 @@ rs6000_emit_move (rtx dest, rtx source, machine_mode mode)
mode == Pmode. */ mode == Pmode. */
switch (mode) switch (mode)
{ {
case HImode: case E_HImode:
case QImode: case E_QImode:
if (CONSTANT_P (operands[1]) if (CONSTANT_P (operands[1])
&& GET_CODE (operands[1]) != CONST_INT) && GET_CODE (operands[1]) != CONST_INT)
operands[1] = force_const_mem (mode, operands[1]); operands[1] = force_const_mem (mode, operands[1]);
break; break;
case TFmode: case E_TFmode:
case TDmode: case E_TDmode:
case IFmode: case E_IFmode:
case KFmode: case E_KFmode:
if (FLOAT128_2REG_P (mode)) if (FLOAT128_2REG_P (mode))
rs6000_eliminate_indexed_memrefs (operands); rs6000_eliminate_indexed_memrefs (operands);
/* fall through */ /* fall through */
case DFmode: case E_DFmode:
case DDmode: case E_DDmode:
case SFmode: case E_SFmode:
case SDmode: case E_SDmode:
if (CONSTANT_P (operands[1]) if (CONSTANT_P (operands[1])
&& ! easy_fp_constant (operands[1], mode)) && ! easy_fp_constant (operands[1], mode))
operands[1] = force_const_mem (mode, operands[1]); operands[1] = force_const_mem (mode, operands[1]);
break; break;
case V16QImode: case E_V16QImode:
case V8HImode: case E_V8HImode:
case V4SFmode: case E_V4SFmode:
case V4SImode: case E_V4SImode:
case V2SFmode: case E_V2SFmode:
case V2SImode: case E_V2SImode:
case V2DFmode: case E_V2DFmode:
case V2DImode: case E_V2DImode:
case V1TImode: case E_V1TImode:
if (CONSTANT_P (operands[1]) if (CONSTANT_P (operands[1])
&& !easy_vector_constant (operands[1], mode)) && !easy_vector_constant (operands[1], mode))
operands[1] = force_const_mem (mode, operands[1]); operands[1] = force_const_mem (mode, operands[1]);
break; break;
case SImode: case E_SImode:
case DImode: case E_DImode:
/* Use default pattern for address of ELF small data */ /* Use default pattern for address of ELF small data */
if (TARGET_ELF if (TARGET_ELF
&& mode == Pmode && mode == Pmode
@ -10817,12 +10817,12 @@ rs6000_emit_move (rtx dest, rtx source, machine_mode mode)
} }
break; break;
case TImode: case E_TImode:
if (!VECTOR_MEM_VSX_P (TImode)) if (!VECTOR_MEM_VSX_P (TImode))
rs6000_eliminate_indexed_memrefs (operands); rs6000_eliminate_indexed_memrefs (operands);
break; break;
case PTImode: case E_PTImode:
rs6000_eliminate_indexed_memrefs (operands); rs6000_eliminate_indexed_memrefs (operands);
break; break;
@ -12047,9 +12047,9 @@ rs6000_darwin64_record_arg_recurse (CUMULATIVE_ARGS *cum, const_tree type,
#if 0 #if 0
switch (mode) switch (mode)
{ {
case SCmode: mode = SFmode; break; case E_SCmode: mode = SFmode; break;
case DCmode: mode = DFmode; break; case E_DCmode: mode = DFmode; break;
case TCmode: mode = TFmode; break; case E_TCmode: mode = TFmode; break;
default: break; default: break;
} }
#endif #endif
@ -14230,18 +14230,18 @@ swap_selector_for_mode (machine_mode mode)
switch (mode) switch (mode)
{ {
case V2DFmode: case E_V2DFmode:
case V2DImode: case E_V2DImode:
swaparray = swap2; swaparray = swap2;
break; break;
case V4SFmode: case E_V4SFmode:
case V4SImode: case E_V4SImode:
swaparray = swap4; swaparray = swap4;
break; break;
case V8HImode: case E_V8HImode:
swaparray = swap8; swaparray = swap8;
break; break;
case V16QImode: case E_V16QImode:
swaparray = swap16; swaparray = swap16;
break; break;
default: default:
@ -17078,7 +17078,7 @@ paired_init_builtins (void)
switch (insn_data[d->icode].operand[1].mode) switch (insn_data[d->icode].operand[1].mode)
{ {
case V2SFmode: case E_V2SFmode:
type = int_ftype_int_v2sf_v2sf; type = int_ftype_int_v2sf_v2sf;
break; break;
default: default:
@ -17509,25 +17509,25 @@ altivec_init_builtins (void)
switch (mode1) switch (mode1)
{ {
case VOIDmode: case E_VOIDmode:
type = int_ftype_int_opaque_opaque; type = int_ftype_int_opaque_opaque;
break; break;
case V2DImode: case E_V2DImode:
type = int_ftype_int_v2di_v2di; type = int_ftype_int_v2di_v2di;
break; break;
case V4SImode: case E_V4SImode:
type = int_ftype_int_v4si_v4si; type = int_ftype_int_v4si_v4si;
break; break;
case V8HImode: case E_V8HImode:
type = int_ftype_int_v8hi_v8hi; type = int_ftype_int_v8hi_v8hi;
break; break;
case V16QImode: case E_V16QImode:
type = int_ftype_int_v16qi_v16qi; type = int_ftype_int_v16qi_v16qi;
break; break;
case V4SFmode: case E_V4SFmode:
type = int_ftype_int_v4sf_v4sf; type = int_ftype_int_v4sf_v4sf;
break; break;
case V2DFmode: case E_V2DFmode:
type = int_ftype_int_v2df_v2df; type = int_ftype_int_v2df_v2df;
break; break;
default: default:
@ -17559,22 +17559,22 @@ altivec_init_builtins (void)
switch (mode0) switch (mode0)
{ {
case V2DImode: case E_V2DImode:
type = v2di_ftype_v2di; type = v2di_ftype_v2di;
break; break;
case V4SImode: case E_V4SImode:
type = v4si_ftype_v4si; type = v4si_ftype_v4si;
break; break;
case V8HImode: case E_V8HImode:
type = v8hi_ftype_v8hi; type = v8hi_ftype_v8hi;
break; break;
case V16QImode: case E_V16QImode:
type = v16qi_ftype_v16qi; type = v16qi_ftype_v16qi;
break; break;
case V4SFmode: case E_V4SFmode:
type = v4sf_ftype_v4sf; type = v4sf_ftype_v4sf;
break; break;
case V2DFmode: case E_V2DFmode:
type = v2df_ftype_v2df; type = v2df_ftype_v2df;
break; break;
default: default:
@ -22156,26 +22156,26 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
switch (src_mode) switch (src_mode)
{ {
case DFmode: case E_DFmode:
cvt = sext_optab; cvt = sext_optab;
hw_convert = hw_conversions[kf_or_tf].from_df; hw_convert = hw_conversions[kf_or_tf].from_df;
break; break;
case SFmode: case E_SFmode:
cvt = sext_optab; cvt = sext_optab;
hw_convert = hw_conversions[kf_or_tf].from_sf; hw_convert = hw_conversions[kf_or_tf].from_sf;
break; break;
case KFmode: case E_KFmode:
case IFmode: case E_IFmode:
case TFmode: case E_TFmode:
if (FLOAT128_IBM_P (src_mode)) if (FLOAT128_IBM_P (src_mode))
cvt = sext_optab; cvt = sext_optab;
else else
do_move = true; do_move = true;
break; break;
case SImode: case E_SImode:
if (unsigned_p) if (unsigned_p)
{ {
cvt = ufloat_optab; cvt = ufloat_optab;
@ -22188,7 +22188,7 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
} }
break; break;
case DImode: case E_DImode:
if (unsigned_p) if (unsigned_p)
{ {
cvt = ufloat_optab; cvt = ufloat_optab;
@ -22218,26 +22218,26 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
switch (dest_mode) switch (dest_mode)
{ {
case DFmode: case E_DFmode:
cvt = trunc_optab; cvt = trunc_optab;
hw_convert = hw_conversions[kf_or_tf].to_df; hw_convert = hw_conversions[kf_or_tf].to_df;
break; break;
case SFmode: case E_SFmode:
cvt = trunc_optab; cvt = trunc_optab;
hw_convert = hw_conversions[kf_or_tf].to_sf; hw_convert = hw_conversions[kf_or_tf].to_sf;
break; break;
case KFmode: case E_KFmode:
case IFmode: case E_IFmode:
case TFmode: case E_TFmode:
if (FLOAT128_IBM_P (dest_mode)) if (FLOAT128_IBM_P (dest_mode))
cvt = trunc_optab; cvt = trunc_optab;
else else
do_move = true; do_move = true;
break; break;
case SImode: case E_SImode:
if (unsigned_p) if (unsigned_p)
{ {
cvt = ufix_optab; cvt = ufix_optab;
@ -22250,7 +22250,7 @@ rs6000_expand_float128_convert (rtx dest, rtx src, bool unsigned_p)
} }
break; break;
case DImode: case E_DImode:
if (unsigned_p) if (unsigned_p)
{ {
cvt = ufix_optab; cvt = ufix_optab;
@ -23250,13 +23250,13 @@ emit_load_locked (machine_mode mode, rtx reg, rtx mem)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
fn = gen_load_lockedqi; fn = gen_load_lockedqi;
break; break;
case HImode: case E_HImode:
fn = gen_load_lockedhi; fn = gen_load_lockedhi;
break; break;
case SImode: case E_SImode:
if (GET_MODE (mem) == QImode) if (GET_MODE (mem) == QImode)
fn = gen_load_lockedqi_si; fn = gen_load_lockedqi_si;
else if (GET_MODE (mem) == HImode) else if (GET_MODE (mem) == HImode)
@ -23264,10 +23264,10 @@ emit_load_locked (machine_mode mode, rtx reg, rtx mem)
else else
fn = gen_load_lockedsi; fn = gen_load_lockedsi;
break; break;
case DImode: case E_DImode:
fn = gen_load_lockeddi; fn = gen_load_lockeddi;
break; break;
case TImode: case E_TImode:
fn = gen_load_lockedti; fn = gen_load_lockedti;
break; break;
default: default:
@ -23286,19 +23286,19 @@ emit_store_conditional (machine_mode mode, rtx res, rtx mem, rtx val)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
fn = gen_store_conditionalqi; fn = gen_store_conditionalqi;
break; break;
case HImode: case E_HImode:
fn = gen_store_conditionalhi; fn = gen_store_conditionalhi;
break; break;
case SImode: case E_SImode:
fn = gen_store_conditionalsi; fn = gen_store_conditionalsi;
break; break;
case DImode: case E_DImode:
fn = gen_store_conditionaldi; fn = gen_store_conditionaldi;
break; break;
case TImode: case E_TImode:
fn = gen_store_conditionalti; fn = gen_store_conditionalti;
break; break;
default: default:
@ -28839,17 +28839,17 @@ rs6000_output_function_epilogue (FILE *file)
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
case SDmode: case E_SDmode:
bits = 0x2; bits = 0x2;
break; break;
case DFmode: case E_DFmode:
case DDmode: case E_DDmode:
case TFmode: case E_TFmode:
case TDmode: case E_TDmode:
case IFmode: case E_IFmode:
case KFmode: case E_KFmode:
bits = 0x3; bits = 0x3;
break; break;
@ -32395,28 +32395,28 @@ rs6000_handle_altivec_attribute (tree *node,
unsigned_p = TYPE_UNSIGNED (type); unsigned_p = TYPE_UNSIGNED (type);
switch (mode) switch (mode)
{ {
case TImode: case E_TImode:
result = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node); result = (unsigned_p ? unsigned_V1TI_type_node : V1TI_type_node);
break; break;
case DImode: case E_DImode:
result = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node); result = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node);
break; break;
case SImode: case E_SImode:
result = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node); result = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node);
break; break;
case HImode: case E_HImode:
result = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node); result = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node);
break; break;
case QImode: case E_QImode:
result = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node); result = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node);
break; break;
case SFmode: result = V4SF_type_node; break; case E_SFmode: result = V4SF_type_node; break;
case DFmode: result = V2DF_type_node; break; case E_DFmode: result = V2DF_type_node; break;
/* If the user says 'vector int bool', we may be handed the 'bool' /* If the user says 'vector int bool', we may be handed the 'bool'
attribute _before_ the 'vector' attribute, and so select the attribute _before_ the 'vector' attribute, and so select the
proper type in the 'b' case below. */ proper type in the 'b' case below. */
case V4SImode: case V8HImode: case V16QImode: case V4SFmode: case E_V4SImode: case E_V8HImode: case E_V16QImode: case E_V4SFmode:
case V2DImode: case V2DFmode: case E_V2DImode: case E_V2DFmode:
result = type; result = type;
default: break; default: break;
} }
@ -32424,17 +32424,17 @@ rs6000_handle_altivec_attribute (tree *node,
case 'b': case 'b':
switch (mode) switch (mode)
{ {
case DImode: case V2DImode: result = bool_V2DI_type_node; break; case E_DImode: case E_V2DImode: result = bool_V2DI_type_node; break;
case SImode: case V4SImode: result = bool_V4SI_type_node; break; case E_SImode: case E_V4SImode: result = bool_V4SI_type_node; break;
case HImode: case V8HImode: result = bool_V8HI_type_node; break; case E_HImode: case E_V8HImode: result = bool_V8HI_type_node; break;
case QImode: case V16QImode: result = bool_V16QI_type_node; case E_QImode: case E_V16QImode: result = bool_V16QI_type_node;
default: break; default: break;
} }
break; break;
case 'p': case 'p':
switch (mode) switch (mode)
{ {
case V8HImode: result = pixel_V8HI_type_node; case E_V8HImode: result = pixel_V8HI_type_node;
default: break; default: break;
} }
default: break; default: break;
@ -35691,10 +35691,10 @@ rs6000_function_value (const_tree valtype,
{ {
default: default:
break; break;
case DImode: case E_DImode:
case SCmode: case E_SCmode:
case DCmode: case E_DCmode:
case TCmode: case E_TCmode:
int count = GET_MODE_SIZE (mode) / 4; int count = GET_MODE_SIZE (mode) / 4;
return rs6000_parallel_return (mode, count, SImode, GP_ARG_RETURN, 1); return rs6000_parallel_return (mode, count, SImode, GP_ARG_RETURN, 1);
} }
@ -38367,24 +38367,24 @@ emit_fusion_gpr_load (rtx target, rtx mem)
mode = GET_MODE (mem); mode = GET_MODE (mem);
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
mode_name = "char"; mode_name = "char";
load_str = "lbz"; load_str = "lbz";
break; break;
case HImode: case E_HImode:
mode_name = "short"; mode_name = "short";
load_str = "lhz"; load_str = "lhz";
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
mode_name = (mode == SFmode) ? "float" : "int"; mode_name = (mode == SFmode) ? "float" : "int";
load_str = "lwz"; load_str = "lwz";
break; break;
case DImode: case E_DImode:
case DFmode: case E_DFmode:
gcc_assert (TARGET_POWERPC64); gcc_assert (TARGET_POWERPC64);
mode_name = (mode == DFmode) ? "double" : "long"; mode_name = (mode == DFmode) ? "double" : "long";
load_str = "ld"; load_str = "ld";
@ -38634,18 +38634,18 @@ emit_fusion_p9_load (rtx reg, rtx mem, rtx tmp_reg)
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
load_string = "lbz"; load_string = "lbz";
break; break;
case HImode: case E_HImode:
load_string = "lhz"; load_string = "lhz";
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
load_string = "lwz"; load_string = "lwz";
break; break;
case DImode: case E_DImode:
case DFmode: case E_DFmode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
gcc_unreachable (); gcc_unreachable ();
load_string = "ld"; load_string = "ld";
@ -38721,18 +38721,18 @@ emit_fusion_p9_store (rtx mem, rtx reg, rtx tmp_reg)
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
store_string = "stb"; store_string = "stb";
break; break;
case HImode: case E_HImode:
store_string = "sth"; store_string = "sth";
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
store_string = "stw"; store_string = "stw";
break; break;
case DImode: case E_DImode:
case DFmode: case E_DFmode:
if (!TARGET_POWERPC64) if (!TARGET_POWERPC64)
gcc_unreachable (); gcc_unreachable ();
store_string = "std"; store_string = "std";

View file

@ -966,25 +966,25 @@ rx_gen_move_template (rtx * operands, bool is_movu)
/* Decide which extension, if any, should be given to the move instruction. */ /* Decide which extension, if any, should be given to the move instruction. */
switch (CONST_INT_P (src) ? GET_MODE (dest) : GET_MODE (src)) switch (CONST_INT_P (src) ? GET_MODE (dest) : GET_MODE (src))
{ {
case QImode: case E_QImode:
/* The .B extension is not valid when /* The .B extension is not valid when
loading an immediate into a register. */ loading an immediate into a register. */
if (! REG_P (dest) || ! CONST_INT_P (src)) if (! REG_P (dest) || ! CONST_INT_P (src))
extension = ".B"; extension = ".B";
break; break;
case HImode: case E_HImode:
if (! REG_P (dest) || ! CONST_INT_P (src)) if (! REG_P (dest) || ! CONST_INT_P (src))
/* The .W extension is not valid when /* The .W extension is not valid when
loading an immediate into a register. */ loading an immediate into a register. */
extension = ".W"; extension = ".W";
break; break;
case DFmode: case E_DFmode:
case DImode: case E_DImode:
case SFmode: case E_SFmode:
case SImode: case E_SImode:
extension = ".L"; extension = ".L";
break; break;
case VOIDmode: case E_VOIDmode:
/* This mode is used by constants. */ /* This mode is used by constants. */
break; break;
default: default:
@ -3079,15 +3079,15 @@ flags_from_mode (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case CC_ZSmode: case E_CC_ZSmode:
return CC_FLAG_S | CC_FLAG_Z; return CC_FLAG_S | CC_FLAG_Z;
case CC_ZSOmode: case E_CC_ZSOmode:
return CC_FLAG_S | CC_FLAG_Z | CC_FLAG_O; return CC_FLAG_S | CC_FLAG_Z | CC_FLAG_O;
case CC_ZSCmode: case E_CC_ZSCmode:
return CC_FLAG_S | CC_FLAG_Z | CC_FLAG_C; return CC_FLAG_S | CC_FLAG_Z | CC_FLAG_C;
case CCmode: case E_CCmode:
return CC_FLAG_S | CC_FLAG_Z | CC_FLAG_O | CC_FLAG_C; return CC_FLAG_S | CC_FLAG_Z | CC_FLAG_O | CC_FLAG_C;
case CC_Fmode: case E_CC_Fmode:
return CC_FLAG_FP; return CC_FLAG_FP;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -278,25 +278,25 @@
switch (GET_MODE (XEXP (op, 0))) switch (GET_MODE (XEXP (op, 0)))
{ {
case CCL1mode: case E_CCL1mode:
return GET_CODE (op) == LTU; return GET_CODE (op) == LTU;
case CCL2mode: case E_CCL2mode:
return GET_CODE (op) == LEU; return GET_CODE (op) == LEU;
case CCL3mode: case E_CCL3mode:
return GET_CODE (op) == GEU; return GET_CODE (op) == GEU;
case CCUmode: case E_CCUmode:
return GET_CODE (op) == GTU; return GET_CODE (op) == GTU;
case CCURmode: case E_CCURmode:
return GET_CODE (op) == LTU; return GET_CODE (op) == LTU;
case CCSmode: case E_CCSmode:
return GET_CODE (op) == UNGT; return GET_CODE (op) == UNGT;
case CCSRmode: case E_CCSRmode:
return GET_CODE (op) == UNLT; return GET_CODE (op) == UNLT;
default: default:
@ -323,25 +323,25 @@
switch (GET_MODE (XEXP (op, 0))) switch (GET_MODE (XEXP (op, 0)))
{ {
case CCL1mode: case E_CCL1mode:
return GET_CODE (op) == GEU; return GET_CODE (op) == GEU;
case CCL2mode: case E_CCL2mode:
return GET_CODE (op) == GTU; return GET_CODE (op) == GTU;
case CCL3mode: case E_CCL3mode:
return GET_CODE (op) == LTU; return GET_CODE (op) == LTU;
case CCUmode: case E_CCUmode:
return GET_CODE (op) == LEU; return GET_CODE (op) == LEU;
case CCURmode: case E_CCURmode:
return GET_CODE (op) == GEU; return GET_CODE (op) == GEU;
case CCSmode: case E_CCSmode:
return GET_CODE (op) == LE; return GET_CODE (op) == LE;
case CCSRmode: case E_CCSRmode:
return GET_CODE (op) == GE; return GET_CODE (op) == GE;
default: default:

View file

@ -1134,11 +1134,20 @@ s390_handle_vectorbool_attribute (tree *node, tree name ATTRIBUTE_UNUSED,
mode = TYPE_MODE (type); mode = TYPE_MODE (type);
switch (mode) switch (mode)
{ {
case DImode: case V2DImode: result = s390_builtin_types[BT_BV2DI]; break; case E_DImode: case E_V2DImode:
case SImode: case V4SImode: result = s390_builtin_types[BT_BV4SI]; break; result = s390_builtin_types[BT_BV2DI];
case HImode: case V8HImode: result = s390_builtin_types[BT_BV8HI]; break; break;
case QImode: case V16QImode: result = s390_builtin_types[BT_BV16QI]; case E_SImode: case E_V4SImode:
default: break; result = s390_builtin_types[BT_BV4SI];
break;
case E_HImode: case E_V8HImode:
result = s390_builtin_types[BT_BV8HI];
break;
case E_QImode: case E_V16QImode:
result = s390_builtin_types[BT_BV16QI];
break;
default:
break;
} }
*no_add_attrs = true; /* No need to hang on to the attribute. */ *no_add_attrs = true; /* No need to hang on to the attribute. */
@ -1248,14 +1257,14 @@ s390_vector_mode_supported_p (machine_mode mode)
switch (inner) switch (inner)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
case TFmode: case E_TFmode:
return true; return true;
default: default:
return false; return false;
@ -1282,18 +1291,18 @@ s390_cc_modes_compatible (machine_mode m1, machine_mode m2)
switch (m1) switch (m1)
{ {
case CCZmode: case E_CCZmode:
if (m2 == CCUmode || m2 == CCTmode || m2 == CCZ1mode if (m2 == CCUmode || m2 == CCTmode || m2 == CCZ1mode
|| m2 == CCSmode || m2 == CCSRmode || m2 == CCURmode) || m2 == CCSmode || m2 == CCSRmode || m2 == CCURmode)
return m2; return m2;
return VOIDmode; return VOIDmode;
case CCSmode: case E_CCSmode:
case CCUmode: case E_CCUmode:
case CCTmode: case E_CCTmode:
case CCSRmode: case E_CCSRmode:
case CCURmode: case E_CCURmode:
case CCZ1mode: case E_CCZ1mode:
if (m2 == CCZmode) if (m2 == CCZmode)
return m1; return m1;
@ -1327,36 +1336,36 @@ s390_match_ccmode_set (rtx set, machine_mode req_mode)
set_mode = GET_MODE (SET_DEST (set)); set_mode = GET_MODE (SET_DEST (set));
switch (set_mode) switch (set_mode)
{ {
case CCZ1mode: case E_CCZ1mode:
case CCSmode: case E_CCSmode:
case CCSRmode: case E_CCSRmode:
case CCUmode: case E_CCUmode:
case CCURmode: case E_CCURmode:
case CCLmode: case E_CCLmode:
case CCL1mode: case E_CCL1mode:
case CCL2mode: case E_CCL2mode:
case CCL3mode: case E_CCL3mode:
case CCT1mode: case E_CCT1mode:
case CCT2mode: case E_CCT2mode:
case CCT3mode: case E_CCT3mode:
case CCVEQmode: case E_CCVEQmode:
case CCVIHmode: case E_CCVIHmode:
case CCVIHUmode: case E_CCVIHUmode:
case CCVFHmode: case E_CCVFHmode:
case CCVFHEmode: case E_CCVFHEmode:
if (req_mode != set_mode) if (req_mode != set_mode)
return 0; return 0;
break; break;
case CCZmode: case E_CCZmode:
if (req_mode != CCSmode && req_mode != CCUmode && req_mode != CCTmode if (req_mode != CCSmode && req_mode != CCUmode && req_mode != CCTmode
&& req_mode != CCSRmode && req_mode != CCURmode && req_mode != CCSRmode && req_mode != CCURmode
&& req_mode != CCZ1mode) && req_mode != CCZ1mode)
return 0; return 0;
break; break;
case CCAPmode: case E_CCAPmode:
case CCANmode: case E_CCANmode:
if (req_mode != CCAmode) if (req_mode != CCAmode)
return 0; return 0;
break; break;
@ -1675,8 +1684,8 @@ s390_canonicalize_comparison (int *code, rtx *op0, rtx *op1,
enum rtx_code new_code = UNKNOWN; enum rtx_code new_code = UNKNOWN;
switch (GET_MODE (XVECEXP (*op0, 0, 0))) switch (GET_MODE (XVECEXP (*op0, 0, 0)))
{ {
case CCZmode: case E_CCZmode:
case CCRAWmode: case E_CCRAWmode:
switch (*code) switch (*code)
{ {
case EQ: new_code = EQ; break; case EQ: new_code = EQ; break;
@ -1792,20 +1801,20 @@ s390_emit_compare_and_swap (enum rtx_code code, rtx old, rtx mem,
cc = gen_rtx_REG (ccmode, CC_REGNUM); cc = gen_rtx_REG (ccmode, CC_REGNUM);
switch (GET_MODE (mem)) switch (GET_MODE (mem))
{ {
case SImode: case E_SImode:
emit_insn (gen_atomic_compare_and_swapsi_internal (old, mem, cmp, emit_insn (gen_atomic_compare_and_swapsi_internal (old, mem, cmp,
new_rtx, cc)); new_rtx, cc));
break; break;
case DImode: case E_DImode:
emit_insn (gen_atomic_compare_and_swapdi_internal (old, mem, cmp, emit_insn (gen_atomic_compare_and_swapdi_internal (old, mem, cmp,
new_rtx, cc)); new_rtx, cc));
break; break;
case TImode: case E_TImode:
emit_insn (gen_atomic_compare_and_swapti_internal (old, mem, cmp, emit_insn (gen_atomic_compare_and_swapti_internal (old, mem, cmp,
new_rtx, cc)); new_rtx, cc));
break; break;
case QImode: case E_QImode:
case HImode: case E_HImode:
default: default:
gcc_unreachable (); gcc_unreachable ();
} }
@ -1849,8 +1858,8 @@ s390_branch_condition_mask (rtx code)
switch (GET_MODE (XEXP (code, 0))) switch (GET_MODE (XEXP (code, 0)))
{ {
case CCZmode: case E_CCZmode:
case CCZ1mode: case E_CCZ1mode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0; case EQ: return CC0;
@ -1859,7 +1868,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCT1mode: case E_CCT1mode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC1; case EQ: return CC1;
@ -1868,7 +1877,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCT2mode: case E_CCT2mode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC2; case EQ: return CC2;
@ -1877,7 +1886,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCT3mode: case E_CCT3mode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC3; case EQ: return CC3;
@ -1886,7 +1895,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCLmode: case E_CCLmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0 | CC2; case EQ: return CC0 | CC2;
@ -1895,7 +1904,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCL1mode: case E_CCL1mode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case LTU: return CC2 | CC3; /* carry */ case LTU: return CC2 | CC3; /* carry */
@ -1904,7 +1913,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCL2mode: case E_CCL2mode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case GTU: return CC0 | CC1; /* borrow */ case GTU: return CC0 | CC1; /* borrow */
@ -1913,7 +1922,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCL3mode: case E_CCL3mode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0 | CC2; case EQ: return CC0 | CC2;
@ -1925,7 +1934,7 @@ s390_branch_condition_mask (rtx code)
default: return -1; default: return -1;
} }
case CCUmode: case E_CCUmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0; case EQ: return CC0;
@ -1938,7 +1947,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCURmode: case E_CCURmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0; case EQ: return CC0;
@ -1951,7 +1960,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCAPmode: case E_CCAPmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0; case EQ: return CC0;
@ -1964,7 +1973,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCANmode: case E_CCANmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0; case EQ: return CC0;
@ -1977,7 +1986,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCSmode: case E_CCSmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0; case EQ: return CC0;
@ -1998,7 +2007,7 @@ s390_branch_condition_mask (rtx code)
} }
break; break;
case CCSRmode: case E_CCSRmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: return CC0; case EQ: return CC0;
@ -2022,7 +2031,7 @@ s390_branch_condition_mask (rtx code)
/* Vector comparison modes. */ /* Vector comparison modes. */
/* CC2 will never be set. It however is part of the negated /* CC2 will never be set. It however is part of the negated
masks. */ masks. */
case CCVIALLmode: case E_CCVIALLmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: case EQ:
@ -2037,7 +2046,7 @@ s390_branch_condition_mask (rtx code)
default: return -1; default: return -1;
} }
case CCVIANYmode: case E_CCVIANYmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: case EQ:
@ -2051,7 +2060,7 @@ s390_branch_condition_mask (rtx code)
case LT: return CC3 | CC2; case LT: return CC3 | CC2;
default: return -1; default: return -1;
} }
case CCVFALLmode: case E_CCVFALLmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: case EQ:
@ -2064,7 +2073,7 @@ s390_branch_condition_mask (rtx code)
default: return -1; default: return -1;
} }
case CCVFANYmode: case E_CCVFANYmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: case EQ:
@ -2077,7 +2086,7 @@ s390_branch_condition_mask (rtx code)
default: return -1; default: return -1;
} }
case CCRAWmode: case E_CCRAWmode:
switch (GET_CODE (code)) switch (GET_CODE (code))
{ {
case EQ: case EQ:
@ -3510,7 +3519,7 @@ s390_rtx_costs (rtx x, machine_mode mode, int outer_code,
case MULT: case MULT:
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
{ {
rtx left = XEXP (x, 0); rtx left = XEXP (x, 0);
rtx right = XEXP (x, 1); rtx right = XEXP (x, 1);
@ -3523,7 +3532,7 @@ s390_rtx_costs (rtx x, machine_mode mode, int outer_code,
*total = s390_cost->ms; /* msr, ms, msy */ *total = s390_cost->ms; /* msr, ms, msy */
break; break;
} }
case DImode: case E_DImode:
{ {
rtx left = XEXP (x, 0); rtx left = XEXP (x, 0);
rtx right = XEXP (x, 1); rtx right = XEXP (x, 1);
@ -3554,11 +3563,11 @@ s390_rtx_costs (rtx x, machine_mode mode, int outer_code,
} }
break; break;
} }
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
*total = s390_cost->mult_df; *total = s390_cost->mult_df;
break; break;
case TFmode: case E_TFmode:
*total = s390_cost->mxbr; *total = s390_cost->mxbr;
break; break;
default: default:
@ -3569,10 +3578,10 @@ s390_rtx_costs (rtx x, machine_mode mode, int outer_code,
case FMA: case FMA:
switch (mode) switch (mode)
{ {
case DFmode: case E_DFmode:
*total = s390_cost->madbr; *total = s390_cost->madbr;
break; break;
case SFmode: case E_SFmode:
*total = s390_cost->maebr; *total = s390_cost->maebr;
break; break;
default: default:
@ -4292,7 +4301,7 @@ s390_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
GET_MODE_SIZE (mode)))) GET_MODE_SIZE (mode))))
{ {
#define __SECONDARY_RELOAD_CASE(M,m) \ #define __SECONDARY_RELOAD_CASE(M,m) \
case M##mode: \ case E_##M##mode: \
if (TARGET_64BIT) \ if (TARGET_64BIT) \
sri->icode = in_p ? CODE_FOR_reload##m##di_toreg_z10 : \ sri->icode = in_p ? CODE_FOR_reload##m##di_toreg_z10 : \
CODE_FOR_reload##m##di_tomem_z10; \ CODE_FOR_reload##m##di_tomem_z10; \
@ -7006,13 +7015,13 @@ s390_expand_cs (machine_mode mode, rtx btarget, rtx vtarget, rtx mem,
{ {
switch (mode) switch (mode)
{ {
case TImode: case E_TImode:
case DImode: case E_DImode:
case SImode: case E_SImode:
s390_expand_cs_tdsi (mode, btarget, vtarget, mem, cmp, new_rtx, is_weak); s390_expand_cs_tdsi (mode, btarget, vtarget, mem, cmp, new_rtx, is_weak);
break; break;
case HImode: case E_HImode:
case QImode: case E_QImode:
s390_expand_cs_hqi (mode, btarget, vtarget, mem, cmp, new_rtx, is_weak); s390_expand_cs_hqi (mode, btarget, vtarget, mem, cmp, new_rtx, is_weak);
break; break;
default: default:
@ -15490,15 +15499,15 @@ s390_preferred_simd_mode (machine_mode mode)
if (TARGET_VX) if (TARGET_VX)
switch (mode) switch (mode)
{ {
case DFmode: case E_DFmode:
return V2DFmode; return V2DFmode;
case DImode: case E_DImode:
return V2DImode; return V2DImode;
case SImode: case E_SImode:
return V4SImode; return V4SImode;
case HImode: case E_HImode:
return V8HImode; return V8HImode;
case QImode: case E_QImode:
return V16QImode; return V16QImode;
default:; default:;
} }

View file

@ -314,9 +314,9 @@
machine_mode half_mode; machine_mode half_mode;
switch (<MODE>mode) switch (<MODE>mode)
{ {
case V8HImode: half_mode = V16QImode; break; case E_V8HImode: half_mode = V16QImode; break;
case V4SImode: half_mode = V8HImode; break; case E_V4SImode: half_mode = V8HImode; break;
case V2DImode: half_mode = V4SImode; break; case E_V2DImode: half_mode = V4SImode; break;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
s390_expand_vcond (operands[1], operands[1], null_vec, s390_expand_vcond (operands[1], operands[1], null_vec,

View file

@ -1272,11 +1272,11 @@ sh_print_operand (FILE *stream, rtx x, int code)
{ {
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case QImode: fputs (".b", stream); break; case E_QImode: fputs (".b", stream); break;
case HImode: fputs (".w", stream); break; case E_HImode: fputs (".w", stream); break;
case SImode: fputs (".l", stream); break; case E_SImode: fputs (".l", stream); break;
case SFmode: fputs (".s", stream); break; case E_SFmode: fputs (".s", stream); break;
case DFmode: fputs (".d", stream); break; case E_DFmode: fputs (".d", stream); break;
default: gcc_unreachable (); default: gcc_unreachable ();
} }
} }
@ -4622,10 +4622,10 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
switch (p->mode) switch (p->mode)
{ {
case HImode: case E_HImode:
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
if (align_insn && !p->part_of_sequence_p) if (align_insn && !p->part_of_sequence_p)
{ {
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab; lab = LABEL_REFS (lab))
@ -4651,7 +4651,7 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
need_align = ! need_align; need_align = ! need_align;
} }
break; break;
case DFmode: case E_DFmode:
if (need_align) if (need_align)
{ {
scan = emit_insn_after (gen_align_log (GEN_INT (3)), scan); scan = emit_insn_after (gen_align_log (GEN_INT (3)), scan);
@ -4659,7 +4659,7 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
need_align = false; need_align = false;
} }
/* FALLTHRU */ /* FALLTHRU */
case DImode: case E_DImode:
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab; lab = LABEL_REFS (lab))
scan = emit_label_after (lab, scan); scan = emit_label_after (lab, scan);
scan = emit_insn_after (gen_consttable_8 (p->value, const0_rtx), scan = emit_insn_after (gen_consttable_8 (p->value, const0_rtx),
@ -4689,10 +4689,10 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
switch (p->mode) switch (p->mode)
{ {
case HImode: case E_HImode:
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
if (need_align) if (need_align)
{ {
need_align = false; need_align = false;
@ -4704,8 +4704,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
scan = emit_insn_after (gen_consttable_4 (p->value, const0_rtx), scan = emit_insn_after (gen_consttable_4 (p->value, const0_rtx),
scan); scan);
break; break;
case DFmode: case E_DFmode:
case DImode: case E_DImode:
if (need_align) if (need_align)
{ {
need_align = false; need_align = false;
@ -11239,13 +11239,13 @@ sh_secondary_reload (bool in_p, rtx x, reg_class_t rclass_i,
&& ! ((fp_zero_operand (x) || fp_one_operand (x)) && mode == SFmode)) && ! ((fp_zero_operand (x) || fp_one_operand (x)) && mode == SFmode))
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
sri->icode = CODE_FOR_reload_insf__frn; sri->icode = CODE_FOR_reload_insf__frn;
return NO_REGS; return NO_REGS;
case DFmode: case E_DFmode:
sri->icode = CODE_FOR_reload_indf__frn; sri->icode = CODE_FOR_reload_indf__frn;
return NO_REGS; return NO_REGS;
case SImode: case E_SImode:
/* ??? If we knew that we are in the appropriate mode - /* ??? If we knew that we are in the appropriate mode -
single precision - we could use a reload pattern directly. */ single precision - we could use a reload pattern directly. */
return FPUL_REGS; return FPUL_REGS;

View file

@ -1793,13 +1793,13 @@ extern bool current_function_interrupt;
#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM,BODY,VALUE,REL) \ #define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM,BODY,VALUE,REL) \
switch (GET_MODE (BODY)) \ switch (GET_MODE (BODY)) \
{ \ { \
case SImode: \ case E_SImode: \
asm_fprintf ((STREAM), "\t.long\t%LL%d-%LL%d\n", (VALUE),(REL)); \ asm_fprintf ((STREAM), "\t.long\t%LL%d-%LL%d\n", (VALUE),(REL)); \
break; \ break; \
case HImode: \ case E_HImode: \
asm_fprintf ((STREAM), "\t.word\t%LL%d-%LL%d\n", (VALUE),(REL)); \ asm_fprintf ((STREAM), "\t.word\t%LL%d-%LL%d\n", (VALUE),(REL)); \
break; \ break; \
case QImode: \ case E_QImode: \
asm_fprintf ((STREAM), "\t.byte\t%LL%d-%LL%d\n", (VALUE),(REL)); \ asm_fprintf ((STREAM), "\t.byte\t%LL%d-%LL%d\n", (VALUE),(REL)); \
break; \ break; \
default: \ default: \

View file

@ -7976,13 +7976,13 @@
switch (GET_MODE (diff_vec)) switch (GET_MODE (diff_vec))
{ {
case SImode: case E_SImode:
return "shll2 %1" "\n" return "shll2 %1" "\n"
" mov.l @(r0,%1),%0"; " mov.l @(r0,%1),%0";
case HImode: case E_HImode:
return "add %1,%1" "\n" return "add %1,%1" "\n"
" mov.w @(r0,%1),%0"; " mov.w @(r0,%1),%0";
case QImode: case E_QImode:
if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned) if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
return "mov.b @(r0,%1),%0" "\n" return "mov.b @(r0,%1),%0" "\n"
" extu.b %0,%0"; " extu.b %0,%0";
@ -8011,17 +8011,17 @@
switch (GET_MODE (diff_vec)) switch (GET_MODE (diff_vec))
{ {
case SImode: case E_SImode:
return "shll2 %1" "\n" return "shll2 %1" "\n"
" add r0,%1" "\n" " add r0,%1" "\n"
" mova %O3,r0" "\n" " mova %O3,r0" "\n"
" mov.l @(r0,%1),%0"; " mov.l @(r0,%1),%0";
case HImode: case E_HImode:
return "add %1,%1" "\n" return "add %1,%1" "\n"
" add r0,%1" "\n" " add r0,%1" "\n"
" mova %O3,r0" "\n" " mova %O3,r0" "\n"
" mov.w @(r0,%1),%0"; " mov.w @(r0,%1),%0";
case QImode: case E_QImode:
if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned) if (ADDR_DIFF_VEC_FLAGS (diff_vec).offset_unsigned)
return "add r0,%1" "\n" return "add r0,%1" "\n"
" mova %O3,r0" "\n" " mova %O3,r0" "\n"

View file

@ -466,17 +466,17 @@
{ {
switch (GET_MODE (XEXP (op, 0))) switch (GET_MODE (XEXP (op, 0)))
{ {
case CCmode: case E_CCmode:
case CCXmode: case E_CCXmode:
return true; return true;
case CCNZmode: case E_CCNZmode:
case CCXNZmode: case E_CCXNZmode:
return nz_comparison_operator (op, mode); return nz_comparison_operator (op, mode);
case CCCmode: case E_CCCmode:
case CCXCmode: case E_CCXCmode:
return c_comparison_operator (op, mode); return c_comparison_operator (op, mode);
case CCVmode: case E_CCVmode:
case CCXVmode: case E_CCXVmode:
return v_comparison_operator (op, mode); return v_comparison_operator (op, mode);
default: default:
return false; return false;
@ -489,8 +489,8 @@
{ {
switch (GET_MODE (XEXP (op, 0))) switch (GET_MODE (XEXP (op, 0)))
{ {
case CCFPmode: case E_CCFPmode:
case CCFPEmode: case E_CCFPEmode:
return true; return true;
default: default:
return false; return false;

View file

@ -2068,21 +2068,21 @@ sparc_expand_move (machine_mode mode, rtx *operands)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
/* All QImode constants require only one insn, so proceed. */ /* All QImode constants require only one insn, so proceed. */
break; break;
case HImode: case E_HImode:
case SImode: case E_SImode:
sparc_emit_set_const32 (operands[0], operands[1]); sparc_emit_set_const32 (operands[0], operands[1]);
return true; return true;
case DImode: case E_DImode:
/* input_operand should have filtered out 32-bit mode. */ /* input_operand should have filtered out 32-bit mode. */
sparc_emit_set_const64 (operands[0], operands[1]); sparc_emit_set_const64 (operands[0], operands[1]);
return true; return true;
case TImode: case E_TImode:
{ {
rtx high, low; rtx high, low;
/* TImode isn't available in 32-bit mode. */ /* TImode isn't available in 32-bit mode. */
@ -3475,10 +3475,10 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
case FLOAT_EXTEND: case FLOAT_EXTEND:
switch (GET_MODE (operands[1])) switch (GET_MODE (operands[1]))
{ {
case SFmode: case E_SFmode:
func = "_Qp_stoq"; func = "_Qp_stoq";
break; break;
case DFmode: case E_DFmode:
func = "_Qp_dtoq"; func = "_Qp_dtoq";
break; break;
default: default:
@ -3489,10 +3489,10 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
case FLOAT_TRUNCATE: case FLOAT_TRUNCATE:
switch (GET_MODE (operands[0])) switch (GET_MODE (operands[0]))
{ {
case SFmode: case E_SFmode:
func = "_Qp_qtos"; func = "_Qp_qtos";
break; break;
case DFmode: case E_DFmode:
func = "_Qp_qtod"; func = "_Qp_qtod";
break; break;
default: default:
@ -3503,12 +3503,12 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
case FLOAT: case FLOAT:
switch (GET_MODE (operands[1])) switch (GET_MODE (operands[1]))
{ {
case SImode: case E_SImode:
func = "_Qp_itoq"; func = "_Qp_itoq";
if (TARGET_ARCH64) if (TARGET_ARCH64)
operands[1] = gen_rtx_SIGN_EXTEND (DImode, operands[1]); operands[1] = gen_rtx_SIGN_EXTEND (DImode, operands[1]);
break; break;
case DImode: case E_DImode:
func = "_Qp_xtoq"; func = "_Qp_xtoq";
break; break;
default: default:
@ -3519,12 +3519,12 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
case UNSIGNED_FLOAT: case UNSIGNED_FLOAT:
switch (GET_MODE (operands[1])) switch (GET_MODE (operands[1]))
{ {
case SImode: case E_SImode:
func = "_Qp_uitoq"; func = "_Qp_uitoq";
if (TARGET_ARCH64) if (TARGET_ARCH64)
operands[1] = gen_rtx_ZERO_EXTEND (DImode, operands[1]); operands[1] = gen_rtx_ZERO_EXTEND (DImode, operands[1]);
break; break;
case DImode: case E_DImode:
func = "_Qp_uxtoq"; func = "_Qp_uxtoq";
break; break;
default: default:
@ -3535,10 +3535,10 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
case FIX: case FIX:
switch (GET_MODE (operands[0])) switch (GET_MODE (operands[0]))
{ {
case SImode: case E_SImode:
func = "_Qp_qtoi"; func = "_Qp_qtoi";
break; break;
case DImode: case E_DImode:
func = "_Qp_qtox"; func = "_Qp_qtox";
break; break;
default: default:
@ -3549,10 +3549,10 @@ emit_soft_tfmode_cvt (enum rtx_code code, rtx *operands)
case UNSIGNED_FIX: case UNSIGNED_FIX:
switch (GET_MODE (operands[0])) switch (GET_MODE (operands[0]))
{ {
case SImode: case E_SImode:
func = "_Qp_qtoui"; func = "_Qp_qtoui";
break; break;
case DImode: case E_DImode:
func = "_Qp_qtoux"; func = "_Qp_qtoux";
break; break;
default: default:
@ -7699,11 +7699,11 @@ sparc_preferred_simd_mode (machine_mode mode)
if (TARGET_VIS) if (TARGET_VIS)
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
return V2SImode; return V2SImode;
case HImode: case E_HImode:
return V4HImode; return V4HImode;
case QImode: case E_QImode:
return V8QImode; return V8QImode;
default:; default:;
@ -7973,23 +7973,23 @@ output_cbranch (rtx op, rtx dest, int label, int reversed, int annul,
switch (mode) switch (mode)
{ {
case CCmode: case E_CCmode:
case CCNZmode: case E_CCNZmode:
case CCCmode: case E_CCCmode:
case CCVmode: case E_CCVmode:
labelno = "%%icc, "; labelno = "%%icc, ";
if (v8) if (v8)
labelno = ""; labelno = "";
break; break;
case CCXmode: case E_CCXmode:
case CCXNZmode: case E_CCXNZmode:
case CCXCmode: case E_CCXCmode:
case CCXVmode: case E_CCXVmode:
labelno = "%%xcc, "; labelno = "%%xcc, ";
gcc_assert (!v8); gcc_assert (!v8);
break; break;
case CCFPmode: case E_CCFPmode:
case CCFPEmode: case E_CCFPEmode:
{ {
static char v9_fcc_labelno[] = "%%fccX, "; static char v9_fcc_labelno[] = "%%fccX, ";
/* Set the char indicating the number of the fcc reg to use. */ /* Set the char indicating the number of the fcc reg to use. */
@ -9047,16 +9047,16 @@ sparc_print_operand (FILE *file, rtx x, int code)
{ {
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case CCmode: case E_CCmode:
case CCNZmode: case E_CCNZmode:
case CCCmode: case E_CCCmode:
case CCVmode: case E_CCVmode:
s = "%icc"; s = "%icc";
break; break;
case CCXmode: case E_CCXmode:
case CCXNZmode: case E_CCXNZmode:
case CCXCmode: case E_CCXCmode:
case CCXVmode: case E_CCXVmode:
s = "%xcc"; s = "%xcc";
break; break;
default: default:
@ -12439,7 +12439,7 @@ sparc_expand_vec_perm_bmask (machine_mode vmode, rtx sel)
sel = gen_lowpart (DImode, sel); sel = gen_lowpart (DImode, sel);
switch (vmode) switch (vmode)
{ {
case V2SImode: case E_V2SImode:
/* inp = xxxxxxxAxxxxxxxB */ /* inp = xxxxxxxAxxxxxxxB */
t_1 = expand_simple_binop (DImode, LSHIFTRT, sel, GEN_INT (16), t_1 = expand_simple_binop (DImode, LSHIFTRT, sel, GEN_INT (16),
NULL_RTX, 1, OPTAB_DIRECT); NULL_RTX, 1, OPTAB_DIRECT);
@ -12458,7 +12458,7 @@ sparc_expand_vec_perm_bmask (machine_mode vmode, rtx sel)
/* sel = { A*4, A*4+1, A*4+2, ... } */ /* sel = { A*4, A*4+1, A*4+2, ... } */
break; break;
case V4HImode: case E_V4HImode:
/* inp = xxxAxxxBxxxCxxxD */ /* inp = xxxAxxxBxxxCxxxD */
t_1 = expand_simple_binop (DImode, LSHIFTRT, sel, GEN_INT (8), t_1 = expand_simple_binop (DImode, LSHIFTRT, sel, GEN_INT (8),
NULL_RTX, 1, OPTAB_DIRECT); NULL_RTX, 1, OPTAB_DIRECT);
@ -12495,7 +12495,7 @@ sparc_expand_vec_perm_bmask (machine_mode vmode, rtx sel)
/* sel = { A*2, A*2+1, B*2, B*2+1, ... } */ /* sel = { A*2, A*2+1, B*2, B*2+1, ... } */
break; break;
case V8QImode: case E_V8QImode:
/* input = xAxBxCxDxExFxGxH */ /* input = xAxBxCxDxExFxGxH */
sel = expand_simple_binop (DImode, AND, sel, sel = expand_simple_binop (DImode, AND, sel,
GEN_INT ((HOST_WIDE_INT)0x0f0f0f0f << 32 GEN_INT ((HOST_WIDE_INT)0x0f0f0f0f << 32
@ -12793,15 +12793,15 @@ vector_init_bshuffle (rtx target, rtx elt, machine_mode mode,
switch (mode) switch (mode)
{ {
case V2SImode: case E_V2SImode:
final_insn = gen_bshufflev2si_vis (target, t1, t1); final_insn = gen_bshufflev2si_vis (target, t1, t1);
bmask = 0x45674567; bmask = 0x45674567;
break; break;
case V4HImode: case E_V4HImode:
final_insn = gen_bshufflev4hi_vis (target, t1, t1); final_insn = gen_bshufflev4hi_vis (target, t1, t1);
bmask = 0x67676767; bmask = 0x67676767;
break; break;
case V8QImode: case E_V8QImode:
final_insn = gen_bshufflev8qi_vis (target, t1, t1); final_insn = gen_bshufflev8qi_vis (target, t1, t1);
bmask = 0x77777777; bmask = 0x77777777;
break; break;

View file

@ -292,13 +292,13 @@ spu_scalar_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case SFmode: case E_SFmode:
case DImode: case E_DImode:
case TImode: case E_TImode:
case DFmode: case E_DFmode:
return true; return true;
default: default:
@ -314,12 +314,12 @@ spu_vector_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case V16QImode: case E_V16QImode:
case V8HImode: case E_V8HImode:
case V4SImode: case E_V4SImode:
case V2DImode: case E_V2DImode:
case V4SFmode: case E_V4SFmode:
case V2DFmode: case E_V2DFmode:
return true; return true;
default: default:
@ -496,13 +496,13 @@ spu_expand_insv (rtx ops[])
{ {
switch (dst_mode) switch (dst_mode)
{ {
case SImode: case E_SImode:
emit_insn (gen_ashlsi3 (shift_reg, shift_reg, GEN_INT (shift))); emit_insn (gen_ashlsi3 (shift_reg, shift_reg, GEN_INT (shift)));
break; break;
case DImode: case E_DImode:
emit_insn (gen_ashldi3 (shift_reg, shift_reg, GEN_INT (shift))); emit_insn (gen_ashldi3 (shift_reg, shift_reg, GEN_INT (shift)));
break; break;
case TImode: case E_TImode:
emit_insn (gen_ashlti3 (shift_reg, shift_reg, GEN_INT (shift))); emit_insn (gen_ashlti3 (shift_reg, shift_reg, GEN_INT (shift)));
break; break;
default: default:
@ -802,50 +802,50 @@ spu_emit_branch_or_set (int is_set, rtx cmp, rtx operands[])
switch (op_mode) switch (op_mode)
{ {
case QImode: case E_QImode:
index = 0; index = 0;
comp_mode = QImode; comp_mode = QImode;
break; break;
case HImode: case E_HImode:
index = 1; index = 1;
comp_mode = HImode; comp_mode = HImode;
break; break;
case SImode: case E_SImode:
index = 2; index = 2;
break; break;
case DImode: case E_DImode:
index = 3; index = 3;
break; break;
case TImode: case E_TImode:
index = 4; index = 4;
break; break;
case SFmode: case E_SFmode:
index = 5; index = 5;
break; break;
case DFmode: case E_DFmode:
index = 6; index = 6;
break; break;
case V16QImode: case E_V16QImode:
index = 7; index = 7;
comp_mode = op_mode; comp_mode = op_mode;
break; break;
case V8HImode: case E_V8HImode:
index = 8; index = 8;
comp_mode = op_mode; comp_mode = op_mode;
break; break;
case V4SImode: case E_V4SImode:
index = 9; index = 9;
comp_mode = op_mode; comp_mode = op_mode;
break; break;
case V4SFmode: case E_V4SFmode:
index = 10; index = 10;
comp_mode = V4SImode; comp_mode = V4SImode;
break; break;
case V2DFmode: case E_V2DFmode:
index = 11; index = 11;
comp_mode = V2DImode; comp_mode = V2DImode;
break; break;
case V2DImode: case E_V2DImode:
default: default:
abort (); abort ();
} }
@ -3710,22 +3710,22 @@ spu_handle_vector_attribute (tree * node, tree name,
unsigned_p = TYPE_UNSIGNED (type); unsigned_p = TYPE_UNSIGNED (type);
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
result = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node); result = (unsigned_p ? unsigned_V2DI_type_node : V2DI_type_node);
break; break;
case SImode: case E_SImode:
result = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node); result = (unsigned_p ? unsigned_V4SI_type_node : V4SI_type_node);
break; break;
case HImode: case E_HImode:
result = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node); result = (unsigned_p ? unsigned_V8HI_type_node : V8HI_type_node);
break; break;
case QImode: case E_QImode:
result = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node); result = (unsigned_p ? unsigned_V16QI_type_node : V16QI_type_node);
break; break;
case SFmode: case E_SFmode:
result = V4SF_type_node; result = V4SF_type_node;
break; break;
case DFmode: case E_DFmode:
result = V2DF_type_node; result = V2DF_type_node;
break; break;
default: default:
@ -5642,24 +5642,24 @@ spu_builtin_splats (rtx ops[])
ops[1] = force_reg (GET_MODE_INNER (mode), ops[1]); ops[1] = force_reg (GET_MODE_INNER (mode), ops[1]);
switch (mode) switch (mode)
{ {
case V2DImode: case E_V2DImode:
case V2DFmode: case E_V2DFmode:
shuf = shuf =
immed_double_const (0x0001020304050607ll, 0x1011121314151617ll, immed_double_const (0x0001020304050607ll, 0x1011121314151617ll,
TImode); TImode);
break; break;
case V4SImode: case E_V4SImode:
case V4SFmode: case E_V4SFmode:
shuf = shuf =
immed_double_const (0x0001020300010203ll, 0x0001020300010203ll, immed_double_const (0x0001020300010203ll, 0x0001020300010203ll,
TImode); TImode);
break; break;
case V8HImode: case E_V8HImode:
shuf = shuf =
immed_double_const (0x0203020302030203ll, 0x0203020302030203ll, immed_double_const (0x0203020302030203ll, 0x0203020302030203ll,
TImode); TImode);
break; break;
case V16QImode: case E_V16QImode:
shuf = shuf =
immed_double_const (0x0303030303030303ll, 0x0303030303030303ll, immed_double_const (0x0303030303030303ll, 0x0303030303030303ll,
TImode); TImode);
@ -5684,22 +5684,22 @@ spu_builtin_extract (rtx ops[])
{ {
switch (mode) switch (mode)
{ {
case V16QImode: case E_V16QImode:
emit_insn (gen_vec_extractv16qiqi (ops[0], ops[1], ops[2])); emit_insn (gen_vec_extractv16qiqi (ops[0], ops[1], ops[2]));
break; break;
case V8HImode: case E_V8HImode:
emit_insn (gen_vec_extractv8hihi (ops[0], ops[1], ops[2])); emit_insn (gen_vec_extractv8hihi (ops[0], ops[1], ops[2]));
break; break;
case V4SFmode: case E_V4SFmode:
emit_insn (gen_vec_extractv4sfsf (ops[0], ops[1], ops[2])); emit_insn (gen_vec_extractv4sfsf (ops[0], ops[1], ops[2]));
break; break;
case V4SImode: case E_V4SImode:
emit_insn (gen_vec_extractv4sisi (ops[0], ops[1], ops[2])); emit_insn (gen_vec_extractv4sisi (ops[0], ops[1], ops[2]));
break; break;
case V2DImode: case E_V2DImode:
emit_insn (gen_vec_extractv2didi (ops[0], ops[1], ops[2])); emit_insn (gen_vec_extractv2didi (ops[0], ops[1], ops[2]));
break; break;
case V2DFmode: case E_V2DFmode:
emit_insn (gen_vec_extractv2dfdf (ops[0], ops[1], ops[2])); emit_insn (gen_vec_extractv2dfdf (ops[0], ops[1], ops[2]));
break; break;
default: default:
@ -5714,19 +5714,19 @@ spu_builtin_extract (rtx ops[])
switch (mode) switch (mode)
{ {
case V16QImode: case E_V16QImode:
emit_insn (gen_addsi3 (tmp, ops[2], GEN_INT (-3))); emit_insn (gen_addsi3 (tmp, ops[2], GEN_INT (-3)));
break; break;
case V8HImode: case E_V8HImode:
emit_insn (gen_addsi3 (tmp, ops[2], ops[2])); emit_insn (gen_addsi3 (tmp, ops[2], ops[2]));
emit_insn (gen_addsi3 (tmp, tmp, GEN_INT (-2))); emit_insn (gen_addsi3 (tmp, tmp, GEN_INT (-2)));
break; break;
case V4SFmode: case E_V4SFmode:
case V4SImode: case E_V4SImode:
emit_insn (gen_ashlsi3 (tmp, ops[2], GEN_INT (2))); emit_insn (gen_ashlsi3 (tmp, ops[2], GEN_INT (2)));
break; break;
case V2DImode: case E_V2DImode:
case V2DFmode: case E_V2DFmode:
emit_insn (gen_ashlsi3 (tmp, ops[2], GEN_INT (3))); emit_insn (gen_ashlsi3 (tmp, ops[2], GEN_INT (3)));
break; break;
default: default:
@ -5786,20 +5786,20 @@ spu_builtin_promote (rtx ops[])
offset = gen_reg_rtx (SImode); offset = gen_reg_rtx (SImode);
switch (mode) switch (mode)
{ {
case V16QImode: case E_V16QImode:
emit_insn (gen_subsi3 (offset, GEN_INT (3), ops[2])); emit_insn (gen_subsi3 (offset, GEN_INT (3), ops[2]));
break; break;
case V8HImode: case E_V8HImode:
emit_insn (gen_subsi3 (offset, GEN_INT (1), ops[2])); emit_insn (gen_subsi3 (offset, GEN_INT (1), ops[2]));
emit_insn (gen_addsi3 (offset, offset, offset)); emit_insn (gen_addsi3 (offset, offset, offset));
break; break;
case V4SFmode: case E_V4SFmode:
case V4SImode: case E_V4SImode:
emit_insn (gen_subsi3 (offset, GEN_INT (0), ops[2])); emit_insn (gen_subsi3 (offset, GEN_INT (0), ops[2]));
emit_insn (gen_ashlsi3 (offset, offset, GEN_INT (2))); emit_insn (gen_ashlsi3 (offset, offset, GEN_INT (2)));
break; break;
case V2DImode: case E_V2DImode:
case V2DFmode: case E_V2DFmode:
emit_insn (gen_ashlsi3 (offset, ops[2], GEN_INT (3))); emit_insn (gen_ashlsi3 (offset, ops[2], GEN_INT (3)));
break; break;
default: default:
@ -5915,19 +5915,19 @@ spu_expand_sign_extend (rtx ops[])
arr[i] = 0x10; arr[i] = 0x10;
switch (GET_MODE (ops[1])) switch (GET_MODE (ops[1]))
{ {
case HImode: case E_HImode:
sign = gen_reg_rtx (SImode); sign = gen_reg_rtx (SImode);
emit_insn (gen_extendhisi2 (sign, ops[1])); emit_insn (gen_extendhisi2 (sign, ops[1]));
arr[last] = 0x03; arr[last] = 0x03;
arr[last - 1] = 0x02; arr[last - 1] = 0x02;
break; break;
case SImode: case E_SImode:
sign = gen_reg_rtx (SImode); sign = gen_reg_rtx (SImode);
emit_insn (gen_ashrsi3 (sign, ops[1], GEN_INT (31))); emit_insn (gen_ashrsi3 (sign, ops[1], GEN_INT (31)));
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
arr[last - i] = 3 - i; arr[last - i] = 3 - i;
break; break;
case DImode: case E_DImode:
sign = gen_reg_rtx (SImode); sign = gen_reg_rtx (SImode);
c = gen_reg_rtx (SImode); c = gen_reg_rtx (SImode);
emit_insn (gen_spu_convert (c, ops[1])); emit_insn (gen_spu_convert (c, ops[1]));

View file

@ -111,15 +111,15 @@ tilegx_scalar_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
case TImode: case E_TImode:
return true; return true;
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
return true; return true;
default: default:
@ -1466,16 +1466,16 @@ tilegx_simd_int (rtx num, machine_mode mode)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
n = 0x0101010101010101LL * (n & 0x000000FF); n = 0x0101010101010101LL * (n & 0x000000FF);
break; break;
case HImode: case E_HImode:
n = 0x0001000100010001LL * (n & 0x0000FFFF); n = 0x0001000100010001LL * (n & 0x0000FFFF);
break; break;
case SImode: case E_SImode:
n = 0x0000000100000001LL * (n & 0xFFFFFFFF); n = 0x0000000100000001LL * (n & 0xFFFFFFFF);
break; break;
case DImode: case E_DImode:
break; break;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -88,14 +88,14 @@ tilepro_scalar_mode_supported_p (machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
case HImode: case E_HImode:
case SImode: case E_SImode:
case DImode: case E_DImode:
return true; return true;
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
return true; return true;
default: default:
@ -1208,15 +1208,15 @@ tilepro_simd_int (rtx num, machine_mode mode)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
n = 0x01010101 * (n & 0x000000FF); n = 0x01010101 * (n & 0x000000FF);
break; break;
case HImode: case E_HImode:
n = 0x00010001 * (n & 0x0000FFFF); n = 0x00010001 * (n & 0x0000FFFF);
break; break;
case SImode: case E_SImode:
break; break;
case DImode: case E_DImode:
break; break;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -270,19 +270,19 @@ const_double_split (rtx x, HOST_WIDE_INT * p_high, HOST_WIDE_INT * p_low)
switch (GET_MODE (x)) switch (GET_MODE (x))
{ {
case DFmode: case E_DFmode:
REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), t); REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), t);
*p_high = t[1]; /* since v850 is little endian */ *p_high = t[1]; /* since v850 is little endian */
*p_low = t[0]; /* high is second word */ *p_low = t[0]; /* high is second word */
return; return;
case SFmode: case E_SFmode:
REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (x), *p_high); REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (x), *p_high);
*p_low = 0; *p_low = 0;
return; return;
case VOIDmode: case E_VOIDmode:
case DImode: case E_DImode:
*p_high = CONST_DOUBLE_HIGH (x); *p_high = CONST_DOUBLE_HIGH (x);
*p_low = CONST_DOUBLE_LOW (x); *p_low = CONST_DOUBLE_LOW (x);
return; return;
@ -594,10 +594,10 @@ v850_print_operand (FILE * file, rtx x, int code)
default: default:
gcc_unreachable (); gcc_unreachable ();
case QImode: fputs (".b", file); break; case E_QImode: fputs (".b", file); break;
case HImode: fputs (".h", file); break; case E_HImode: fputs (".h", file); break;
case SImode: fputs (".w", file); break; case E_SImode: fputs (".w", file); break;
case SFmode: fputs (".w", file); break; case E_SFmode: fputs (".w", file); break;
} }
break; break;
case '.': /* Register r0. */ case '.': /* Register r0. */
@ -1020,7 +1020,7 @@ ep_memory_offset (machine_mode mode, int unsignedp ATTRIBUTE_UNUSED)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
if (TARGET_SMALL_SLD) if (TARGET_SMALL_SLD)
max_offset = (1 << 4); max_offset = (1 << 4);
else if ((TARGET_V850E_UP) else if ((TARGET_V850E_UP)
@ -1030,7 +1030,7 @@ ep_memory_offset (machine_mode mode, int unsignedp ATTRIBUTE_UNUSED)
max_offset = (1 << 7); max_offset = (1 << 7);
break; break;
case HImode: case E_HImode:
if (TARGET_SMALL_SLD) if (TARGET_SMALL_SLD)
max_offset = (1 << 5); max_offset = (1 << 5);
else if ((TARGET_V850E_UP) else if ((TARGET_V850E_UP)
@ -1040,8 +1040,8 @@ ep_memory_offset (machine_mode mode, int unsignedp ATTRIBUTE_UNUSED)
max_offset = (1 << 8); max_offset = (1 << 8);
break; break;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
max_offset = (1 << 8); max_offset = (1 << 8);
break; break;

View file

@ -822,18 +822,18 @@ vax_rtx_costs (rtx x, machine_mode mode, int outer_code,
case MULT: case MULT:
switch (mode) switch (mode)
{ {
case DFmode: case E_DFmode:
*total = 16; /* 4 on VAX 9000 */ *total = 16; /* 4 on VAX 9000 */
break; break;
case SFmode: case E_SFmode:
*total = 9; /* 4 on VAX 9000, 12 on VAX 2 */ *total = 9; /* 4 on VAX 9000, 12 on VAX 2 */
break; break;
case DImode: case E_DImode:
*total = 16; /* 6 on VAX 9000, 28 on VAX 2 */ *total = 16; /* 6 on VAX 9000, 28 on VAX 2 */
break; break;
case SImode: case E_SImode:
case HImode: case E_HImode:
case QImode: case E_QImode:
*total = 10; /* 3-4 on VAX 9000, 20-28 on VAX 2 */ *total = 10; /* 3-4 on VAX 9000, 20-28 on VAX 2 */
break; break;
default: default:
@ -1144,7 +1144,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_UNUSED, rtx *operands,
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
if (operands[1] == const0_rtx) if (operands[1] == const0_rtx)
return "clrq %0"; return "clrq %0";
if (TARGET_QMATH && optimize_size if (TARGET_QMATH && optimize_size
@ -1257,7 +1257,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_UNUSED, rtx *operands,
} }
return "movq %1,%0"; return "movq %1,%0";
case SImode: case E_SImode:
if (symbolic_operand (operands[1], SImode)) if (symbolic_operand (operands[1], SImode))
{ {
if (push_operand (operands[0], SImode)) if (push_operand (operands[0], SImode))
@ -1300,7 +1300,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_UNUSED, rtx *operands,
return "pushl %1"; return "pushl %1";
return "movl %1,%0"; return "movl %1,%0";
case HImode: case E_HImode:
if (CONST_INT_P (operands[1])) if (CONST_INT_P (operands[1]))
{ {
HOST_WIDE_INT i = INTVAL (operands[1]); HOST_WIDE_INT i = INTVAL (operands[1]);
@ -1317,7 +1317,7 @@ vax_output_int_move (rtx insn ATTRIBUTE_UNUSED, rtx *operands,
} }
return "movw %1,%0"; return "movw %1,%0";
case QImode: case E_QImode:
if (CONST_INT_P (operands[1])) if (CONST_INT_P (operands[1]))
{ {
HOST_WIDE_INT i = INTVAL (operands[1]); HOST_WIDE_INT i = INTVAL (operands[1]);
@ -1352,7 +1352,7 @@ vax_output_int_add (rtx insn, rtx *operands, machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
{ {
rtx low[3]; rtx low[3];
const char *pattern; const char *pattern;
@ -1438,7 +1438,7 @@ vax_output_int_add (rtx insn, rtx *operands, machine_mode mode)
return "adwc %2,%0"; return "adwc %2,%0";
} }
case SImode: case E_SImode:
if (rtx_equal_p (operands[0], operands[1])) if (rtx_equal_p (operands[0], operands[1]))
{ {
if (operands[2] == const1_rtx) if (operands[2] == const1_rtx)
@ -1514,7 +1514,7 @@ vax_output_int_add (rtx insn, rtx *operands, machine_mode mode)
return "addl3 %1,%2,%0"; return "addl3 %1,%2,%0";
case HImode: case E_HImode:
if (rtx_equal_p (operands[0], operands[1])) if (rtx_equal_p (operands[0], operands[1]))
{ {
if (operands[2] == const1_rtx) if (operands[2] == const1_rtx)
@ -1533,7 +1533,7 @@ vax_output_int_add (rtx insn, rtx *operands, machine_mode mode)
return "subw3 $%n2,%1,%0"; return "subw3 $%n2,%1,%0";
return "addw3 %1,%2,%0"; return "addw3 %1,%2,%0";
case QImode: case E_QImode:
if (rtx_equal_p (operands[0], operands[1])) if (rtx_equal_p (operands[0], operands[1]))
{ {
if (operands[2] == const1_rtx) if (operands[2] == const1_rtx)
@ -1562,7 +1562,7 @@ vax_output_int_subtract (rtx insn, rtx *operands, machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case DImode: case E_DImode:
{ {
rtx low[3]; rtx low[3];
const char *pattern; const char *pattern;

View file

@ -153,16 +153,16 @@
{ {
switch (GET_MODE (XEXP (op, 0))) switch (GET_MODE (XEXP (op, 0)))
{ {
case CCmode: case E_CCmode:
return ordered_comparison_operator (op, mode); return ordered_comparison_operator (op, mode);
case CCNZmode: case E_CCNZmode:
return visium_nz_comparison_operator (op, mode); return visium_nz_comparison_operator (op, mode);
case CCCmode: case E_CCCmode:
return visium_c_comparison_operator (op, mode); return visium_c_comparison_operator (op, mode);
case CCVmode: case E_CCVmode:
return visium_v_comparison_operator (op, mode); return visium_v_comparison_operator (op, mode);
case CCFPmode: case E_CCFPmode:
case CCFPEmode: case E_CCFPEmode:
return visium_fp_comparison_operator (op, mode); return visium_fp_comparison_operator (op, mode);
default: default:
return false; return false;

View file

@ -1719,18 +1719,18 @@ rtx_ok_for_offset_p (machine_mode mode, rtx op)
switch (mode) switch (mode)
{ {
case QImode: case E_QImode:
return INTVAL (op) <= 31; return INTVAL (op) <= 31;
case HImode: case E_HImode:
return (INTVAL (op) % 2) == 0 && INTVAL (op) < 63; return (INTVAL (op) % 2) == 0 && INTVAL (op) < 63;
case SImode: case E_SImode:
case SFmode: case E_SFmode:
return (INTVAL (op) % 4) == 0 && INTVAL (op) < 127; return (INTVAL (op) % 4) == 0 && INTVAL (op) < 127;
case DImode: case E_DImode:
case DFmode: case E_DFmode:
return (INTVAL (op) % 4) == 0 && INTVAL (op) < 123; return (INTVAL (op) % 4) == 0 && INTVAL (op) < 123;
default: default:
@ -3323,18 +3323,18 @@ visium_print_operand_address (FILE *file, machine_mode mode, rtx addr)
HOST_WIDE_INT val = INTVAL (y); HOST_WIDE_INT val = INTVAL (y);
switch (mode) switch (mode)
{ {
case SImode: case E_SImode:
case DImode: case E_DImode:
case SFmode: case E_SFmode:
case DFmode: case E_DFmode:
val >>= 2; val >>= 2;
break; break;
case HImode: case E_HImode:
val >>= 1; val >>= 1;
break; break;
case QImode: case E_QImode:
default: default:
break; break;
} }

View file

@ -1528,13 +1528,13 @@ do \
#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM,BODY,VALUE,REL) \ #define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM,BODY,VALUE,REL) \
switch (GET_MODE (BODY)) \ switch (GET_MODE (BODY)) \
{ \ { \
case SImode: \ case E_SImode: \
asm_fprintf ((STREAM), "\t.long\t%LL%d-%LL%d\n", (VALUE),(REL)); \ asm_fprintf ((STREAM), "\t.long\t%LL%d-%LL%d\n", (VALUE),(REL)); \
break; \ break; \
case HImode: \ case E_HImode: \
asm_fprintf ((STREAM), "\t.word\t%LL%d-%LL%d\n", (VALUE),(REL)); \ asm_fprintf ((STREAM), "\t.word\t%LL%d-%LL%d\n", (VALUE),(REL)); \
break; \ break; \
case QImode: \ case E_QImode: \
asm_fprintf ((STREAM), "\t.byte\t%LL%d-%LL%d\n", (VALUE),(REL)); \ asm_fprintf ((STREAM), "\t.byte\t%LL%d-%LL%d\n", (VALUE),(REL)); \
break; \ break; \
default: \ default: \

View file

@ -591,7 +591,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode)
{ {
switch (mode) switch (mode)
{ {
case BLKmode: case E_BLKmode:
/* Handle the worst case for block moves. See xtensa_expand_block_move /* Handle the worst case for block moves. See xtensa_expand_block_move
where we emit an optimized block move operation if the block can be where we emit an optimized block move operation if the block can be
moved in < "move_ratio" pieces. The worst case is when the block is moved in < "move_ratio" pieces. The worst case is when the block is
@ -600,13 +600,13 @@ xtensa_mem_offset (unsigned v, machine_mode mode)
return (xtensa_uimm8 (v) return (xtensa_uimm8 (v)
&& xtensa_uimm8 (v + MOVE_MAX * LARGEST_MOVE_RATIO)); && xtensa_uimm8 (v + MOVE_MAX * LARGEST_MOVE_RATIO));
case QImode: case E_QImode:
return xtensa_uimm8 (v); return xtensa_uimm8 (v);
case HImode: case E_HImode:
return xtensa_uimm8x2 (v); return xtensa_uimm8x2 (v);
case DFmode: case E_DFmode:
return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4));
default: default:
@ -802,16 +802,16 @@ xtensa_expand_conditional_branch (rtx *operands, machine_mode mode)
switch (mode) switch (mode)
{ {
case DFmode: case E_DFmode:
default: default:
fatal_insn ("bad test", gen_rtx_fmt_ee (test_code, VOIDmode, cmp0, cmp1)); fatal_insn ("bad test", gen_rtx_fmt_ee (test_code, VOIDmode, cmp0, cmp1));
case SImode: case E_SImode:
invert = FALSE; invert = FALSE;
cmp = gen_int_relational (test_code, cmp0, cmp1, &invert); cmp = gen_int_relational (test_code, cmp0, cmp1, &invert);
break; break;
case SFmode: case E_SFmode:
if (!TARGET_HARD_FLOAT) if (!TARGET_HARD_FLOAT)
fatal_insn ("bad test", gen_rtx_fmt_ee (test_code, VOIDmode, fatal_insn ("bad test", gen_rtx_fmt_ee (test_code, VOIDmode,
cmp0, cmp1)); cmp0, cmp1));
@ -1161,8 +1161,8 @@ xtensa_copy_incoming_a7 (rtx opnd)
switch (mode) switch (mode)
{ {
case DFmode: case E_DFmode:
case DImode: case E_DImode:
/* Copy the value out of A7 here but keep the first word in A6 until /* Copy the value out of A7 here but keep the first word in A6 until
after the set_frame_ptr insn. Otherwise, the register allocator after the set_frame_ptr insn. Otherwise, the register allocator
may decide to put "subreg (tmp, 0)" in A7 and clobber the incoming may decide to put "subreg (tmp, 0)" in A7 and clobber the incoming
@ -1170,16 +1170,16 @@ xtensa_copy_incoming_a7 (rtx opnd)
emit_insn (gen_movsi_internal (gen_rtx_SUBREG (SImode, tmp, 4), emit_insn (gen_movsi_internal (gen_rtx_SUBREG (SImode, tmp, 4),
gen_raw_REG (SImode, A7_REG))); gen_raw_REG (SImode, A7_REG)));
break; break;
case SFmode: case E_SFmode:
emit_insn (gen_movsf_internal (tmp, gen_raw_REG (mode, A7_REG))); emit_insn (gen_movsf_internal (tmp, gen_raw_REG (mode, A7_REG)));
break; break;
case SImode: case E_SImode:
emit_insn (gen_movsi_internal (tmp, gen_raw_REG (mode, A7_REG))); emit_insn (gen_movsi_internal (tmp, gen_raw_REG (mode, A7_REG)));
break; break;
case HImode: case E_HImode:
emit_insn (gen_movhi_internal (tmp, gen_raw_REG (mode, A7_REG))); emit_insn (gen_movhi_internal (tmp, gen_raw_REG (mode, A7_REG)));
break; break;
case QImode: case E_QImode:
emit_insn (gen_movqi_internal (tmp, gen_raw_REG (mode, A7_REG))); emit_insn (gen_movqi_internal (tmp, gen_raw_REG (mode, A7_REG)));
break; break;
default: default:
@ -2581,7 +2581,7 @@ xtensa_output_literal (FILE *file, rtx x, machine_mode mode, int labelno)
switch (mode) switch (mode)
{ {
case SFmode: case E_SFmode:
REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (x), REAL_VALUE_TO_TARGET_SINGLE (*CONST_DOUBLE_REAL_VALUE (x),
value_long[0]); value_long[0]);
if (HOST_BITS_PER_LONG > 32) if (HOST_BITS_PER_LONG > 32)
@ -2589,7 +2589,7 @@ xtensa_output_literal (FILE *file, rtx x, machine_mode mode, int labelno)
fprintf (file, "0x%08lx\n", value_long[0]); fprintf (file, "0x%08lx\n", value_long[0]);
break; break;
case DFmode: case E_DFmode:
REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x), REAL_VALUE_TO_TARGET_DOUBLE (*CONST_DOUBLE_REAL_VALUE (x),
value_long); value_long);
if (HOST_BITS_PER_LONG > 32) if (HOST_BITS_PER_LONG > 32)

View file

@ -720,13 +720,13 @@ decimal_real_maxval (REAL_VALUE_TYPE *r, int sign, machine_mode mode)
switch (mode) switch (mode)
{ {
case SDmode: case E_SDmode:
max = "9.999999E96"; max = "9.999999E96";
break; break;
case DDmode: case E_DDmode:
max = "9.999999999999999E384"; max = "9.999999999999999E384";
break; break;
case TDmode: case E_TDmode:
max = "9.999999999999999999999999999999999E6144"; max = "9.999999999999999999999999999999999E6144";
break; break;
default: default:

View file

@ -1,3 +1,10 @@
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
* objc-encoding.c (encode_gnu_bitfield): Prefix mode names with E_ in
case statements.
2017-08-09 Marek Polacek <polacek@redhat.com> 2017-08-09 Marek Polacek <polacek@redhat.com>
PR c/81417 PR c/81417

View file

@ -756,11 +756,11 @@ encode_gnu_bitfield (int position, tree type, int size)
{ {
switch (TYPE_MODE (type)) switch (TYPE_MODE (type))
{ {
case QImode: case E_QImode:
charType = 'C'; break; charType = 'C'; break;
case HImode: case E_HImode:
charType = 'S'; break; charType = 'S'; break;
case SImode: case E_SImode:
{ {
if (type == long_unsigned_type_node) if (type == long_unsigned_type_node)
charType = 'L'; charType = 'L';
@ -768,7 +768,7 @@ encode_gnu_bitfield (int position, tree type, int size)
charType = 'I'; charType = 'I';
break; break;
} }
case DImode: case E_DImode:
charType = 'Q'; break; charType = 'Q'; break;
default: default:
gcc_unreachable (); gcc_unreachable ();
@ -779,11 +779,11 @@ encode_gnu_bitfield (int position, tree type, int size)
{ {
switch (TYPE_MODE (type)) switch (TYPE_MODE (type))
{ {
case QImode: case E_QImode:
charType = 'c'; break; charType = 'c'; break;
case HImode: case E_HImode:
charType = 's'; break; charType = 's'; break;
case SImode: case E_SImode:
{ {
if (type == long_integer_type_node) if (type == long_integer_type_node)
charType = 'l'; charType = 'l';
@ -791,7 +791,7 @@ encode_gnu_bitfield (int position, tree type, int size)
charType = 'i'; charType = 'i';
break; break;
} }
case DImode: case E_DImode:
charType = 'q'; break; charType = 'q'; break;
default: default:
gcc_unreachable (); gcc_unreachable ();

View file

@ -448,16 +448,16 @@ default_libgcc_floating_mode_supported_p (machine_mode mode)
switch (mode) switch (mode)
{ {
#ifdef HAVE_SFmode #ifdef HAVE_SFmode
case SFmode: case E_SFmode:
#endif #endif
#ifdef HAVE_DFmode #ifdef HAVE_DFmode
case DFmode: case E_DFmode:
#endif #endif
#ifdef HAVE_XFmode #ifdef HAVE_XFmode
case XFmode: case E_XFmode:
#endif #endif
#ifdef HAVE_TFmode #ifdef HAVE_TFmode
case TFmode: case E_TFmode:
#endif #endif
return true; return true;

View file

@ -1,3 +1,10 @@
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
Alan Hayward <alan.hayward@arm.com>
David Sherwood <david.sherwood@arm.com>
* encoding.c (_darwin_rs6000_special_round_type_align): Prefix mode
names with E_ in case statements.
2017-02-07 Richard Biener <rguenther@suse.de> 2017-02-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/79256 PR tree-optimization/79256

View file

@ -162,7 +162,7 @@ _darwin_rs6000_special_round_type_align (const char *struc, int comp, int spec)
case UNION_TYPE: case UNION_TYPE:
return MAX (MAX (comp, spec), objc_alignof_type (_stp) * __CHAR_BIT__); return MAX (MAX (comp, spec), objc_alignof_type (_stp) * __CHAR_BIT__);
break; break;
case DFmode: case E_DFmode:
case _C_LNG_LNG: case _C_LNG_LNG:
case _C_ULNG_LNG: case _C_ULNG_LNG:
return MAX (MAX (comp, spec), 64); return MAX (MAX (comp, spec), 64);