This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" attribute


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.
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]