[AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" attribute
Richard Earnshaw
rearnsha@arm.com
Thu Sep 5 09:08:00 GMT 2013
On 19/08/13 13:46, James Greenhalgh wrote:
>
> Hi,
>
> This patch does two things:
>
> 1. Moves all the "neon_type" attribute values in the ARM backend into
> "type", and removes "neon_type".
>
> 2. Splits type f_2_r and r_2_f to enable them to be used in a similar
> way as neon_mcr et. al.
>
> The patch is principally a series of substitutions implementing the
> above goal. I'm sorry that it is so long, but we touch every single
> Neon pattern, and all neon-capable pipelines.
>
> Tested on aarch64-none-elf, bootstrapped on a chromebook, tested on
> arm-none-eabi and sanity checked code output with no obvious regressions.
>
> Is this OK to go in to trunk?
>
> Thanks,
> James
>
Ok, but please shuffle the ChangeLog entry around a bit, so that the
important aspects of the change appear near the top.
R.
> -----
> 2013-08-19 James Greenhalgh <james.greenhalgh@arm.com>
> Sofiane Naci <sofiane.naci@arm.com>
>
> * config/aarch64/aarch64.md
> (*movti_aarch64): Rename r_2_f and f_2_r.
> (*movsf_aarch64): Likewise.
> (*movdf_aarch64): Likewise.
> (*movtf_aarch64): Likewise.
> (aarch64_movdi_<mode>low): Likewise.
> (aarch64_movdi_<mode>high): Likewise.
> (aarch64_mov<mode>high_di): Likewise.
> (aarch64_mov<mode>low_di): Likewise.
> (aarch64_movtilow_tilow): Likewise.
> * config/arm/arm.c (cortexa7_older_only): Update for attribute change.
> * config/arm/arm.md (attribute "neon_type"): Delete. Move attribute
> values to config/arm/types.md
> (attribute "conds"): Update for attribute change.
> (anddi3_insn): Likewise.
> (iordi3_insn): Likewise.
> (xordi3_insn): Likewise.
> (one_cmpldi2): Likewise.
> * config/arm/arm1020e.md (v10_c2v): Update for attribute change.
> (v10_v2c): Likewise.
> * config/arm/cortex-a15-neon.md (cortex_a15_neon_int_1): Update for
> attribute change.
> (cortex_a15_neon_int_2): Likewise.
> (cortex_a15_neon_int_3): Likewise.
> (cortex_a15_neon_int_4): Likewise.
> (cortex_a15_neon_int_5): Likewise.
> (cortex_a15_neon_vqneg_vqabs): Likewise.
> (cortex_a15_neon_vmov): Likewise.
> (cortex_a15_neon_vaba): Likewise.
> (cortex_a15_neon_vaba_qqq): Likewise.
> (cortex_a15_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long): Likewise.
> (cortex_a15_neon_mul_qqq_8_16_32_ddd_32): Likewise.
> (cortex_a15_neon_mul_qdd_64_32_long_qqd_16_ddd_32_\
> scalar_64_32_long_scalar): Likewise.
> (cortex_a15_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long): Likewise.
> (cortex_a15_neon_mla_qqq_8_16): Likewise.
> (cortex_a15_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_\
> lotype_qdd_64_32_long): Likewise.
> (cortex_a15_neon_mla_qqq_32_qqd_32_scalar): Likewise.
> (cortex_a15_neon_mul_ddd_16_scalar_32_16_long_scalar): Likewise.
> (cortex_a15_neon_mul_qqd_32_scalar): Likewise.
> (cortex_a15_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar): Likewise.
> (cortex_a15_neon_shift_1): Likewise.
> (cortex_a15_neon_shift_2): Likewise.
> (cortex_a15_neon_shift_3): Likewise.
> (cortex_a15_neon_vshl_ddd): Likewise.
> (cortex_a15_neon_vqshl_vrshl_vqrshl_qqq): Likewise.
> (cortex_a15_neon_vsra_vrsra): Likewise.
> (cortex_a15_neon_fp_vadd_ddd_vabs_dd): Likewise.
> (cortex_a15_neon_fp_vadd_qqq_vabs_qq): Likewise.
> (cortex_a15_neon_fp_vmul_ddd): Likewise.
> (cortex_a15_neon_fp_vmul_qqd): Likewise.
> (cortex_a15_neon_fp_vmla_ddd): Likewise.
> (cortex_a15_neon_fp_vmla_qqq): Likewise.
> (cortex_a15_neon_fp_vmla_ddd_scalar): Likewise.
> (cortex_a15_neon_fp_vmla_qqq_scalar): Likewise.
> (cortex_a15_neon_fp_vrecps_vrsqrts_ddd): Likewise.
> (cortex_a15_neon_fp_vrecps_vrsqrts_qqq): Likewise.
> (cortex_a15_neon_bp_simple): Likewise.
> (cortex_a15_neon_bp_2cycle): Likewise.
> (cortex_a15_neon_bp_3cycle): Likewise.
> (cortex_a15_neon_vld1_1_2_regs): Likewise.
> (cortex_a15_neon_vld1_3_4_regs): Likewise.
> (cortex_a15_neon_vld2_2_regs_vld1_vld2_all_lanes): Likewise.
> (cortex_a15_neon_vld2_4_regs): Likewise.
> (cortex_a15_neon_vld3_vld4): Likewise.
> (cortex_a15_neon_vst1_1_2_regs_vst2_2_regs): Likewise.
> (cortex_a15_neon_vst1_3_4_regs): Likewise.
> (cortex_a15_neon_vst2_4_regs_vst3_vst4): Likewise.
> (cortex_a15_neon_vst3_vst4): Likewise.
> (cortex_a15_neon_vld1_vld2_lane): Likewise.
> (cortex_a15_neon_vld3_vld4_lane" 10
> (cortex_a15_neon_vst1_vst2_lane): Likewise.
> (cortex_a15_neon_vst3_vst4_lane): Likewise.
> (cortex_a15_neon_vld3_vld4_all_lanes): Likewise.
> (cortex_a15_neon_ldm_2): Likewise.0
> (cortex_a15_neon_stm_2): Likewise.
> (cortex_a15_neon_mcr): Likewise.
> (cortex_a15_neon_mcr_2_mcrr): Likewise.
> (cortex_a15_neon_mrc): Likewise.
> (cortex_a15_neon_mrrc): Likewise.
> * config/arm/cortex-a15.md (cortex_a15_alu): Update for attribute change.
> (cortex_a15_alu_shift): Likewise.
> (cortex_a15_alu_shift_reg): Likewise.
> (cortex_a15_mult32): Likewise.
> (cortex_a15_mult64): Likewise.
> (cortex_a15_block): Likewise.
> (cortex_a15_branch): Likewise.
> (cortex_a15_load1): Likewise.
> (cortex_a15_load3): Likewise.
> (cortex_a15_store1): Likewise.
> (cortex_a15_store3): Likewise.
> (cortex_a15_call): Likewise.
> * config/arm/cortex-a5.md (cortex_a5_r2f): Update for attribute change.
> (cortex_a5_f2r): Likewise.
> * config/arm/cortex-a53.md (cortex_a53_r2f): Update for attribute change.
> (cortex_a53_f2r): Likewise.
> * config/arm/cortex-a7.md
> (cortex_a7_branch): Update for attribute change.
> (cortex_a7_call): Likewise.
> (cortex_a7_alu_imm): Likewise.
> (cortex_a7_alu_reg): Likewise.
> (cortex_a7_alu_shift): Likewise.
> (cortex_a7_mul): Likewise.
> (cortex_a7_load1): Likewise.
> (cortex_a7_store1): Likewise.
> (cortex_a7_load2): Likewise.
> (cortex_a7_store2): Likewise.
> (cortex_a7_load3): Likewise.
> (cortex_a7_store3): Likewise.
> (cortex_a7_load4): Likewise.
> (cortex_a7_store4): Likewise.
> (cortex_a7_fpalu): Likewise.
> (cortex_a7_fconst): Likewise.
> (cortex_a7_fpmuls): Likewise.
> (cortex_a7_neon_mul): Likewise.
> (cortex_a7_fpmacs): Likewise.
> (cortex_a7_neon_mla: Likewise.
> (cortex_a7_fpmuld: Likewise.
> (cortex_a7_fpmacd: Likewise.
> (cortex_a7_fpfmad: Likewise.
> (cortex_a7_fdivs: Likewise.
> (cortex_a7_fdivd: Likewise.
> (cortex_a7_r2f: Likewise.
> (cortex_a7_f2r: Likewise.
> (cortex_a7_f_flags: Likewise.
> (cortex_a7_f_loads: Likewise.
> (cortex_a7_f_loadd: Likewise.
> (cortex_a7_f_stores: Likewise.
> (cortex_a7_f_stored: Likewise.
> (cortex_a7_neon): Likewise.
> * config/arm/cortex-a8-neon.md
> (cortex_a8_neon_mrc): Update for attribute change.
> (cortex_a8_neon_mrrc): Likewise.
> (cortex_a8_neon_int_1): Likewise.
> (cortex_a8_neon_int_2): Likewise.
> (cortex_a8_neon_int_3): Likewise.
> (cortex_a8_neon_int_4): Likewise.
> (cortex_a8_neon_int_5): Likewise.
> (cortex_a8_neon_vqneg_vqabs): Likewise.
> (cortex_a8_neon_vmov): Likewise.
> (cortex_a8_neon_vaba): Likewise.
> (cortex_a8_neon_vaba_qqq): Likewise.
> (cortex_a8_neon_vsma): Likewise.
> (cortex_a8_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long): Likewise.
> (cortex_a8_neon_mul_qqq_8_16_32_ddd_32): Likewise.
> (cortex_a8_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar):
> Likewise.
> (cortex_a8_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long): Likewise.
> (cortex_a8_neon_mla_qqq_8_16): Likewise.
> (cortex_a8_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_\
> long_scalar_qdd_64_32_long): Likewise.
> (cortex_a8_neon_mla_qqq_32_qqd_32_scalar): Likewise.
> (cortex_a8_neon_mul_ddd_16_scalar_32_16_long_scalar): Likewise.
> (cortex_a8_neon_mul_qqd_32_scalar): Likewise.
> (cortex_a8_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar): Likewise.
> (cortex_a8_neon_shift_1): Likewise.
> (cortex_a8_neon_shift_2): Likewise.
> (cortex_a8_neon_shift_3): Likewise.
> (cortex_a8_neon_vshl_ddd): Likewise.
> (cortex_a8_neon_vqshl_vrshl_vqrshl_qqq): Likewise.
> (cortex_a8_neon_vsra_vrsra): Likewise.
> (cortex_a8_neon_fp_vadd_ddd_vabs_dd): Likewise.
> (cortex_a8_neon_fp_vadd_qqq_vabs_qq): Likewise.
> (cortex_a8_neon_fp_vsum): Likewise.
> (cortex_a8_neon_fp_vmul_ddd): Likewise.
> (cortex_a8_neon_fp_vmul_qqd): Likewise.
> (cortex_a8_neon_fp_vmla_ddd): Likewise.
> (cortex_a8_neon_fp_vmla_qqq): Likewise.
> (cortex_a8_neon_fp_vmla_ddd_scalar): Likewise.
> (cortex_a8_neon_fp_vmla_qqq_scalar): Likewise.
> (cortex_a8_neon_fp_vrecps_vrsqrts_ddd): Likewise.
> (cortex_a8_neon_fp_vrecps_vrsqrts_qqq): Likewise.
> (cortex_a8_neon_bp_simple): Likewise.
> (cortex_a8_neon_bp_2cycle): Likewise.
> (cortex_a8_neon_bp_3cycle): Likewise.
> (cortex_a8_neon_ldr): Likewise.
> (cortex_a8_neon_str): Likewise.
> (cortex_a8_neon_vld1_1_2_regs): Likewise.
> (cortex_a8_neon_vld1_3_4_regs): Likewise.
> (cortex_a8_neon_vld2_2_regs_vld1_vld2_all_lanes): Likewise.
> (cortex_a8_neon_vld2_4_regs): Likewise.
> (cortex_a8_neon_vld3_vld4): Likewise.
> (cortex_a8_neon_vst1_1_2_regs_vst2_2_regs): Likewise.
> (cortex_a8_neon_vst1_3_4_regs): Likewise.
> (cortex_a8_neon_vst2_4_regs_vst3_vst4): Likewise.
> (cortex_a8_neon_vst3_vst4): Likewise.
> (cortex_a8_neon_vld1_vld2_lane): Likewise.
> (cortex_a8_neon_vld3_vld4_lane): Likewise.
> (cortex_a8_neon_vst1_vst2_lane): Likewise.
> (cortex_a8_neon_vst3_vst4_lane): Likewise.
> (cortex_a8_neon_vld3_vld4_all_lanes): Likewise.
> (cortex_a8_neon_mcr): Likewise.
> (cortex_a8_neon_mcr_2_mcrr): Likewise.
> * config/arm/cortex-a8.md (cortex_a8_alu): Update for attribute change.
> * config/arm/cortex-a9-neon.md (ca9_neon_mrc): Update for attribute change.
> (ca9_neon_mrrc): Likewise.
> (cortex_a9_neon_int_1): Likewise.
> (cortex_a9_neon_int_2): Likewise.
> (cortex_a9_neon_int_3): Likewise.
> (cortex_a9_neon_int_4): Likewise.
> (cortex_a9_neon_int_5): Likewise.
> (cortex_a9_neon_vqneg_vqabs): Likewise.
> (cortex_a9_neon_vmov): Likewise.
> (cortex_a9_neon_vaba): Likewise.
> (cortex_a9_neon_vaba_qqq): Likewise.
> (cortex_a9_neon_vsma): Likewise.
> (cortex_a9_neon_mul_ddd_8_16_qdd_16_8_long_32_16_long): Likewise.
> (cortex_a9_neon_mul_qqq_8_16_32_ddd_32): Likewise.
> (cortex_a9_neon_mul_qdd_64_32_long_qqd_16_ddd_32_scalar_64_32_long_scalar):
> Likewise.
> (cortex_a9_neon_mla_ddd_8_16_qdd_16_8_long_32_16_long): Likewise.
> (cortex_a9_neon_mla_qqq_8_16): Likewise.
> (cortex_a9_neon_mla_ddd_32_qqd_16_ddd_32_scalar_qdd_64_32_\
> long_scalar_qdd_64_32_long): Likewise.
> (cortex_a9_neon_mla_qqq_32_qqd_32_scalar): Likewise.
> (cortex_a9_neon_mul_ddd_16_scalar_32_16_long_scalar): Likewise.
> (cortex_a9_neon_mul_qqd_32_scalar): Likewise.
> (cortex_a9_neon_mla_ddd_16_scalar_qdd_32_16_long_scalar): Likewise.
> (cortex_a9_neon_shift_1): Likewise.
> (cortex_a9_neon_shift_2): Likewise.
> (cortex_a9_neon_shift_3): Likewise.
> (cortex_a9_neon_vshl_ddd): Likewise.
> (cortex_a9_neon_vqshl_vrshl_vqrshl_qqq): Likewise.
> (cortex_a9_neon_vsra_vrsra): Likewise.
> (cortex_a9_neon_fp_vadd_ddd_vabs_dd): Likewise.
> (cortex_a9_neon_fp_vadd_qqq_vabs_qq): Likewise.
> (cortex_a9_neon_fp_vsum): Likewise.
> (cortex_a9_neon_fp_vmul_ddd): Likewise.
> (cortex_a9_neon_fp_vmul_qqd): Likewise.
> (cortex_a9_neon_fp_vmla_ddd): Likewise.
> (cortex_a9_neon_fp_vmla_qqq): Likewise.
> (cortex_a9_neon_fp_vmla_ddd_scalar): Likewise.
> (cortex_a9_neon_fp_vmla_qqq_scalar): Likewise.
> (cortex_a9_neon_fp_vrecps_vrsqrts_ddd): Likewise.
> (cortex_a9_neon_fp_vrecps_vrsqrts_qqq): Likewise.
> (cortex_a9_neon_bp_simple): Likewise.
> (cortex_a9_neon_bp_2cycle): Likewise.
> (cortex_a9_neon_bp_3cycle): Likewise.
> (cortex_a9_neon_ldr): Likewise.
> (cortex_a9_neon_str): Likewise.
> (cortex_a9_neon_vld1_1_2_regs): Likewise.
> (cortex_a9_neon_vld1_3_4_regs): Likewise.
> (cortex_a9_neon_vld2_2_regs_vld1_vld2_all_lanes): Likewise.
> (cortex_a9_neon_vld2_4_regs): Likewise.
> (cortex_a9_neon_vld3_vld4): Likewise.
> (cortex_a9_neon_vst1_1_2_regs_vst2_2_regs): Likewise.
> (cortex_a9_neon_vst1_3_4_regs): Likewise.
> (cortex_a9_neon_vst2_4_regs_vst3_vst4): Likewise.
> (cortex_a9_neon_vst3_vst4): Likewise.
> (cortex_a9_neon_vld1_vld2_lane): Likewise.
> (cortex_a9_neon_vld3_vld4_lane): Likewise.
> (cortex_a9_neon_vst1_vst2_lane): Likewise.
> (cortex_a9_neon_vst3_vst4_lane): Likewise.
> (cortex_a9_neon_vld3_vld4_all_lanes): Likewise.
> (cortex_a9_neon_mcr): Likewise.
> (cortex_a9_neon_mcr_2_mcrr): Likewise.
> * config/arm/cortex-a9.md (cortex_a9_dp): Update for attribute change.
> (cortex_a9_fps): Likewise.
> * config/arm/cortex-m4-fpu.md (cortex_m4_vmov_2): Update for attribute
> change.
> (cortex_m4_fmuls): Likewise.
> * config/arm/cortex-r4f.md (cortex_r4_mcr): Update for attribute change.
> (cortex_r4_mrc): Likewise.
> * config/arm/iterators.md: Update comment referring to neon_type.
> * config/arm/iwmmxt.md
> (iwmmxt_arm_movdi): Update for attribute change.
> (iwmmxt_movsi_insn): Likewise.
> * config/arm/marvell-pj4.md
> (pj4_vfp_to_core): Update for attribute change.
> (pj4_core_to_vfp): Likewise.
> * config/arm/neon-schedgen.ml (emit_insn_reservations): Update for
> attribute change.
> * config/arm/neon.md (neon_mov<mode>): Update for attribute changes.
> (movmisalign<mode>_neon_store): Likewise.
> (movmisalign<mode>_neon_load): Likewise.
> (vec_set<mode>_internal): Likewise.
> (vec_setv2di_internal): Likewise.
> (vec_extract<mode>): Likewise.
> (vec_extractv2di): Likewise.
> (add<mode>3_neon): Likewise.
> (adddi3_neon): Likewise.
> (sub<mode>3_neon): Likewise.
> (subdi3_neon): Likewise.
> (mul<mode>3_neon): Likewise.
> (mul<mode>3add<mode>_neon): Likewise.
> (mul<mode>3neg<mode>add<mode>_neon): Likewise.
> (fma<VCVTF:mode>4)): Likewise.
> (fma<VCVTF:mode>4_intrinsic): Likewise.
> (fmsub<VCVTF:mode>4)): Likewise.
> (fmsub<VCVTF:mode>4_intrinsic): Likewise.
> (neon_vrint<NEON_VRINT:nvrint_variant><VCVTF:mode>): Likewise.
> (ior<mode>3): Likewise.
> (and<mode>3): Likewise.
> (anddi3_neon): Likewise.
> (orn<mode>3_neon): Likewise.
> (orndi3_neon): Likewise.
> (bic<mode>3_neon): Likewise.
> (bicdi3_neon): Likewise.
> (xor<mode>3): Likewise.
> (one_cmpl<mode>2): Likewise.
> (abs<mode>2): Likewise.
> (neg<mode>2): Likewise.
> (umin<mode>3_neon): Likewise.
> (umax<mode>3_neon): Likewise.
> (smin<mode>3_neon): Likewise.
> (smax<mode>3_neon): Likewise.
> (vashl<mode>3): Likewise.
> (vashr<mode>3_imm): Likewise.
> (vlshr<mode>3_imm): Likewise.
> (ashl<mode>3_signed): Likewise.
> (ashl<mode>3_unsigned): Likewise.
> (neon_load_count): Likewise.
> (ashldi3_neon_noclobber): Likewise.
> (signed_shift_di3_neon): Likewise.
> (unsigned_shift_di3_neon): Likewise.
> (ashrdi3_neon_imm_noclobber): Likewise.
> (lshrdi3_neon_imm_noclobber): Likewise.
> (widen_ssum<mode>3): Likewise.
> (widen_usum<mode>3): Likewise.
> (quad_halves_<code>v4si): Likewise.
> (quad_halves_<code>v4sf): Likewise.
> (quad_halves_<code>v8hi): Likewise.
> (quad_halves_<code>v16qi): Likewise.
> (reduc_splus_v2di): Likewise.
> (neon_vpadd_internal<mode>): Likewise.
> (neon_vpsmin<mode>): Likewise.
> (neon_vpsmax<mode>): Likewise.
> (neon_vpumin<mode>): Likewise.
> (neon_vpumax<mode>): Likewise.
> (ss_add<mode>_neon): Likewise.
> (us_add<mode>_neon): Likewise.
> (ss_sub<mode>_neon): Likewise.
> (us_sub<mode>_neon): Likewise.
> (neon_vadd<mode>_unspec): Likewise.
> (neon_vaddl<mode>): Likewise.
> (neon_vaddw<mode>): Likewise.
> (neon_vhadd<mode>): Likewise.
> (neon_vqadd<mode>): Likewise.
> (neon_vaddhn<mode>): Likewise.
> (neon_vmul<mode>): Likewise.
> (neon_vmla<mode>): Likewise.
> (neon_vmlal<mode>): Likewise.
> (neon_vmls<mode>): Likewise.
> (neon_vmlsl<mode>): Likewise.
> (neon_vqdmulh<mode>): Likewise.
> (neon_vqdmlal<mode>): Likewise.
> (neon_vqdmlsl<mode>): Likewise.
> (neon_vmull<mode>): Likewise.
> (neon_vqdmull<mode>): Likewise.
> (neon_vsub<mode>_unspec): Likewise.
> (neon_vsubl<mode>): Likewise.
> (neon_vsubw<mode>): Likewise.
> (neon_vqsub<mode>): Likewise.
> (neon_vhsub<mode>): Likewise.
> (neon_vsubhn<mode>): Likewise.
> (neon_vceq<mode>): Likewise.
> (neon_vcge<mode>): Likewise.
> (neon_vcgeu<mode>): Likewise.
> (neon_vcgt<mode>): Likewise.
> (neon_vcgtu<mode>): Likewise.
> (neon_vcle<mode>): Likewise.
> (neon_vclt<mode>): Likewise.
> (neon_vcage<mode>): Likewise.
> (neon_vcagt<mode>): Likewise.
> (neon_vtst<mode>): Likewise.
> (neon_vabd<mode>): Likewise.
> (neon_vabdl<mode>): Likewise.
> (neon_vaba<mode>): Likewise.
> (neon_vabal<mode>): Likewise.
> (neon_vmax<mode>): Likewise.
> (neon_vmin<mode>): Likewise.
> (neon_vpaddl<mode>): Likewise.
> (neon_vpadal<mode>): Likewise.
> (neon_vpmax<mode>): Likewise.
> (neon_vpmin<mode>): Likewise.
> (neon_vrecps<mode>): Likewise.
> (neon_vrsqrts<mode>): Likewise.
> (neon_vqabs<mode>): Likewise.
> (neon_vqneg<mode>): Likewise.
> (neon_vcls<mode>): Likewise.
> (clz<mode>2): Likewise.
> (popcount<mode>2): Likewise.
> (neon_vrecpe): Likewise.
> (neon_vrsqrte): Likewise.
> (neon_vget_lane<mode>_sext_internal): Likewise.
> (neon_vget_lane<mode>_zext_internal): Likewise.
> (neon_vdup_n<mode>): Likewise.
> (neon_vdup_nv2di): Likewise.
> (neon_vdpu_lane<mode>_internal): Likewise.
> (neon_vswp<mode>): Likewise.
> (float<mode><V_cvtto>2): Likewise.
> (floatuns<mode><V_cvtto>2): Likewise.
> (fix_trunc<mode><V_cvtto>)2): Likewise
> (fixuns_trunc<mode><V_cvtto)2): Likewise.
> (neon_vcvt<mode>): Likewise.
> (neon_vcvtv4sfv4hf): Likewise.
> (neon_vcvtv4hfv4sf): Likewise.
> (neon_vcvt_n<mode>): Likewise.
> (neon_vmovn<mode>): Likewise.
> (neon_vqmovn<mode>): Likewise.
> (neon_vqmovun<mode>): Likewise.
> (neon_vmovl<mode>): Likewise.
> (neon_vmul_lane<mode>): Likewise.
> (neon_vmull_lane<mode>): Likewise.
> (neon_vqdmull_lane<mode>): Likewise.
> (neon_vqdmulh_lane<mode>): Likewise.
> (neon_vmla_lane<mode>): Likewise.
> (neon_vmlal_lane<mode>): Likewise.
> (neon_vqdmlal_lane<mode>): Likewise.
> (neon_vmls_lane<mode>): Likewise.
> (neon_vmlsl_lane<mode>): Likewise.
> (neon_vqdmlsl_lane<mode>): Likewise.
> (neon_vext<mode>): Likewise.
> (neon_vrev64<mode>): Likewise.
> (neon_vrev32<mode>): Likewise.
> (neon_vrev16<mode>): Likewise.
> (neon_vbsl<mode>_internal): Likewise.
> (neon_vshl<mode>): Likewise.
> (neon_vqshl<mode>): Likewise.
> (neon_vshr_n<mode>): Likewise.
> (neon_vshrn_n<mode>): Likewise.
> (neon_vqshrn_n<mode>): Likewise.
> (neon_vqshrun_n<mode>): Likewise.
> (neon_vshl_n<mode>): Likewise.
> (neon_vqshl_n<mode>): Likewise.
> (neon_vqshlu_n<mode>): Likewise.
> (neon_vshll_n<mode>): Likewise.
> (neon_vsra_n<mode>): Likewise.
> (neon_vsri_n<mode>): Likewise.
> (neon_vsli_n<mode>): Likewise.
> (neon_vtbl1v8qi): Likewise.
> (neon_vtbl2v8qi): Likewise.
> (neon_vtbl3v8qi): Likewise.
> (neon_vtbl4v8qi): Likewise.
> (neon_vtbx1v8qi): Likewise.
> (neon_vtbx2v8qi): Likewise.
> (neon_vtbx3v8qi): Likewise.
> (neon_vtbx4v8qi): Likewise.
> (neon_vtrn<mode>_internal): Likewise.
> (neon_vzip<mode>_internal): Likewise.
> (neon_vuzp<mode>_internal): Likewise.
> (neon_vld1<mode>): Likewise.
> (neon_vld1_lane<mode>): Likewise.
> (neon_vld1_dup<mode>): Likewise.
> (neon_vld1_dupv2di): Likewise.
> (neon_vst1<mode>): Likewise.
> (neon_vst1_lane<mode>): Likewise.
> (neon_vld2<mode>): Likewise.
> (neon_vld2_lane<mode>): Likewise.
> (neon_vld2_dup<mode>): Likewise.
> (neon_vst2<mode>): Likewise.
> (neon_vst2_lane<mode>): Likewise.
> (neon_vld3<mode>): Likewise.
> (neon_vld3qa<mode>): Likewise.
> (neon_vld3qb<mode>): Likewise.
> (neon_vld3_lane<mode>): Likewise.
> (neon_vld3_dup<mode>): Likewise.
> (neon_vst3<mode>): Likewise.
> (neon_vst3qa<mode>): Likewise.
> (neon_vst3qb<mode>): Likewise.
> (neon_vst3_lane<mode>): Likewise.
> (neon_vld4<mode>): Likewise.
> (neon_vld4qa<mode>): Likewise.
> (neon_vld4qb<mode>): Likewise.
> (neon_vld4_lane<mode>): Likewise.
> (neon_vld4_dup<mode>): Likewise.
> (neon_vst4<mode>): Likewise.
> (neon_vst4qa<mode>): Likewise.
> (neon_vst4qb<mode>): Likewise.
> (neon_vst4_lane<mode>): Likewise.
> (neon_vec_unpack<US>_lo_<mode>): Likewise.
> (neon_vec_unpack<US>_hi_<mode>): Likewise.
> (neon_vec_<US>mult_lo_<mode>): Likewise.
> (neon_vec_<US>mult_hi_<mode>): Likewise.
> (neon_vec_<US>shiftl_<mode>): Likewise.
> (neon_unpack<US>_<mode>): Likewise.
> (neon_vec_<US>mult_<mode>): Likewise.
> (vec_pack_trunc_<mode>): Likewise.
> (neon_vec_pack_trunk_<mode>): Likewise.
> (neon_vabd<mode>_2): Likewise.
> (neon_vabd<mode>_3): Likewise.
> * config/arm/types.md (type): Add Neon types.
> * config/arm/vfp.md (arm_movsi_vfp): Update for attribute changes.
> (thumb2_movsi_vfp): Likewise.
> (movdi_vfp): Likewise.
> (movdi_vfp_cortexa8): Likewise.
> (movhf_vfp_neon): Likewise.
> (movhf_vfp): Likewiwse.
> (movsf_vfp): Likewiwse.
> (thumb2_movsf_vfp): Likewiwse.
> (movdf_vfp): Likewise.
> (thumb2_movdf_vfp): Likewise.
> (movsfcc_vfp): Likewise.
> (thumb2_movsfcc_vfp): Likewise.
> (movdfcc_vfp): Likewise.
> (thumb2_movdfcc_vfp): Likewise.
> * config/arm/vfp11.md (vfp_fload): Update for attribute change.
> (vfp_fstore): Likewise.
> * doc/md.texi: Change references to neon_type to refer to type.
>
>
More information about the Gcc-patches
mailing list