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.greenha...@arm.com> > Sofiane Naci <sofiane.n...@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. > >