On 5 December 2014 at 11:56, Alan Lawrence <alan.lawre...@arm.com> wrote:

> gcc/ChangeLog:
>
>         * config/aarch64/aarch64-simd-builtins.def (be_checked_get_lane):
>         Delete.
>         * config/aarch64/aarch64-simd.md
> (aarch64_be_checked_get_lane<mode\>):
>         Delete.
>         * config/aarch64/arm_neon.h (aarch64_vget_lane_any): Use GCC
>         vector extensions, __aarch64_lane,
> __builtin_aarch64_im_lane_boundsi.
>         (__aarch64_vget_lane_f32, __aarch64_vget_lane_f64,
>         __aarch64_vget_lane_p8, __aarch64_vget_lane_p16,
>         __aarch64_vget_lane_s8, __aarch64_vget_lane_s16,
>         __aarch64_vget_lane_s32, __aarch64_vget_lane_s64,
>         __aarch64_vget_lane_u8, __aarch64_vget_lane_u16,
>         __aarch64_vget_lane_u32, __aarch64_vget_lane_u64,
>         __aarch64_vgetq_lane_f32, __aarch64_vgetq_lane_f64,
>         __aarch64_vgetq_lane_p8, __aarch64_vgetq_lane_p16,
>         __aarch64_vgetq_lane_s8, __aarch64_vgetq_lane_s16,
>         __aarch64_vgetq_lane_s32, __aarch64_vgetq_lane_s64,
>         __aarch64_vgetq_lane_u8, __aarch64_vgetq_lane_u16,
>         __aarch64_vgetq_lane_u32, __aarch64_vgetq_lane_u64): Delete.
>         (__aarch64_vdup_lane_any): Use __aarch64_vget_lane_any, remove
>         ‘q2’ argument.
>         (__aarch64_vdup_lane_f32, __aarch64_vdup_lane_f64,
>         __aarch64_vdup_lane_p8, __aarch64_vdup_lane_p16,
>         __aarch64_vdup_lane_s8, __aarch64_vdup_lane_s16,
>         __aarch64_vdup_lane_s32, __aarch64_vdup_lane_s64,
>         __aarch64_vdup_lane_u8, __aarch64_vdup_lane_u16,
>         __aarch64_vdup_lane_u32, __aarch64_vdup_lane_u64,
>         __aarch64_vdup_laneq_f32, __aarch64_vdup_laneq_f64,
>         __aarch64_vdup_laneq_p8, __aarch64_vdup_laneq_p16,
>         __aarch64_vdup_laneq_s8, __aarch64_vdup_laneq_s16,
>         __aarch64_vdup_laneq_s32, __aarch64_vdup_laneq_s64,
>         __aarch64_vdup_laneq_u8, __aarch64_vdup_laneq_u16,
>         __aarch64_vdup_laneq_u32, __aarch64_vdup_laneq_u64): Remove argument
>         to __aarch64_vdup_lane_any.
>         (vget_lane_f32, vget_lane_f64, vget_lane_p8, vget_lane_p16,
>         vget_lane_s8, vget_lane_s16, vget_lane_s32, vget_lane_s64,
>         vget_lane_u8, vget_lane_u16, vget_lane_u32, vget_lane_u64,
>         vgetq_lane_f32, vgetq_lane_f64, vgetq_lane_p8, vgetq_lane_p16,
>         vgetq_lane_s8, vgetq_lane_s16, vgetq_lane_s32, vgetq_lane_s64,
>         vgetq_lane_u8, vgetq_lane_u16, vgetq_lane_u32, vgetq_lane_u64,
>         vdupb_lane_p8, vdupb_lane_s8, vdupb_lane_u8, vduph_lane_p16,
>         vduph_lane_s16, vduph_lane_u16, vdups_lane_f32, vdups_lane_s32,
>         vdups_lane_u32, vdupb_laneq_p8, vdupb_laneq_s8, vdupb_laneq_u8,
>         vduph_laneq_p16, vduph_laneq_s16, vduph_laneq_u16, vdups_laneq_f32,
>         vdups_laneq_s32, vdups_laneq_u32, vdupd_laneq_f64, vdupd_laneq_s64,
>         vdupd_laneq_u64, vfmas_lane_f32, vfma_laneq_f64, vfmad_laneq_f64,
>         vfmas_laneq_f32, vfmss_lane_f32, vfms_laneq_f64, vfmsd_laneq_f64,
>         vfmss_laneq_f32, vmla_lane_f32, vmla_lane_s16, vmla_lane_s32,
>         vmla_lane_u16, vmla_lane_u32, vmla_laneq_f32, vmla_laneq_s16,
>         vmla_laneq_s32, vmla_laneq_u16, vmla_laneq_u32, vmlaq_lane_f32,
>         vmlaq_lane_s16, vmlaq_lane_s32, vmlaq_lane_u16, vmlaq_lane_u32,
>         vmlaq_laneq_f32, vmlaq_laneq_s16, vmlaq_laneq_s32, vmlaq_laneq_u16,
>         vmlaq_laneq_u32, vmls_lane_f32, vmls_lane_s16, vmls_lane_s32,
>         vmls_lane_u16, vmls_lane_u32, vmls_laneq_f32, vmls_laneq_s16,
>         vmls_laneq_s32, vmls_laneq_u16, vmls_laneq_u32, vmlsq_lane_f32,
>         vmlsq_lane_s16, vmlsq_lane_s32, vmlsq_lane_u16, vmlsq_lane_u32,
>         vmlsq_laneq_f32, vmlsq_laneq_s16, vmlsq_laneq_s32, vmlsq_laneq_u16,
>         vmlsq_laneq_u32, vmul_lane_f32, vmul_lane_s16, vmul_lane_s32,
>         vmul_lane_u16, vmul_lane_u32, vmuld_lane_f64, vmuld_laneq_f64,
>         vmuls_lane_f32, vmuls_laneq_f32, vmul_laneq_f32, vmul_laneq_f64,
>         vmul_laneq_s16, vmul_laneq_s32, vmul_laneq_u16, vmul_laneq_u32,
>         vmulq_lane_f32, vmulq_lane_s16, vmulq_lane_s32, vmulq_lane_u16,
>         vmulq_lane_u32, vmulq_laneq_f32, vmulq_laneq_f64, vmulq_laneq_s16,
>         vmulq_laneq_s32, vmulq_laneq_u16, vmulq_laneq_u32) : Use
>         __aarch64_vget_lane_any.
>
> gcc/testsuite/ChangeLog:
>
>         * gcc.target/aarch64/simd/vget_lane_f32_indices_1.c: New test.
>         * gcc.target/aarch64/simd/vget_lane_f64_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_p16_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_p8_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_s16_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_s32_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_s64_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_s8_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_u16_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_u32_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_u64_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vget_lane_u8_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_f32_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_f64_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_p16_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_p8_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_s16_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_s32_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_s8_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_u16_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_u32_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_u64_indices_1.c: Likewise.
>         * gcc.target/aarch64/simd/vgetq_lane_u8_indices_1.c: Likewise.

OK /Marcus

Reply via email to