[llvm] r271252 - [AVX512] Remove gcc builtin name from masked load intrinsics so they can be custom handled by clang to create generic masked load intrinsics instead of using the x86 specific ones.

Diana Picus via llvm-commits llvm-commits at lists.llvm.org
Tue May 31 00:31:58 PDT 2016


Hi,

I think this is breaking our bots:

http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15/builds/12537

Thoughts?

Thanks,
Diana

On 31 May 2016 at 09:43, Craig Topper via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: ctopper
> Date: Tue May 31 01:42:51 2016
> New Revision: 271252
>
> URL: http://llvm.org/viewvc/llvm-project?rev=271252&view=rev
> Log:
> [AVX512] Remove gcc builtin name from masked load intrinsics so they can be custom handled by clang to create generic masked load intrinsics instead of using the x86 specific ones.
>
> The intrinsics will be removed in a future commit.
>
> Modified:
>     llvm/trunk/include/llvm/IR/IntrinsicsX86.td
>
> Modified: llvm/trunk/include/llvm/IR/IntrinsicsX86.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/IntrinsicsX86.td?rev=271252&r1=271251&r2=271252&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/IR/IntrinsicsX86.td (original)
> +++ llvm/trunk/include/llvm/IR/IntrinsicsX86.td Tue May 31 01:42:51 2016
> @@ -1937,54 +1937,42 @@ let TargetPrefix = "x86" in {  // All in
>                    [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_loadu_ps_128 :
> -        GCCBuiltin<"__builtin_ia32_loadups128_mask">,
>            Intrinsic<[llvm_v4f32_ty],
>                      [llvm_ptr_ty, llvm_v4f32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_ps_256 :
> -        GCCBuiltin<"__builtin_ia32_loadups256_mask">,
>            Intrinsic<[llvm_v8f32_ty],
>                      [llvm_ptr_ty, llvm_v8f32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_ps_512 :
> -        GCCBuiltin<"__builtin_ia32_loadups512_mask">,
>            Intrinsic<[llvm_v16f32_ty],
>                      [llvm_ptr_ty, llvm_v16f32_ty, llvm_i16_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_loadu_pd_128 :
> -        GCCBuiltin<"__builtin_ia32_loadupd128_mask">,
>            Intrinsic<[llvm_v2f64_ty],
>                      [llvm_ptr_ty, llvm_v2f64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_pd_256 :
> -        GCCBuiltin<"__builtin_ia32_loadupd256_mask">,
>            Intrinsic<[llvm_v4f64_ty],
>                      [llvm_ptr_ty, llvm_v4f64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_pd_512 :
> -        GCCBuiltin<"__builtin_ia32_loadupd512_mask">,
>            Intrinsic<[llvm_v8f64_ty],
>                      [llvm_ptr_ty, llvm_v8f64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_load_ps_128 :
> -        GCCBuiltin<"__builtin_ia32_loadaps128_mask">,
>            Intrinsic<[llvm_v4f32_ty],
>                      [llvm_ptr_ty, llvm_v4f32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_ps_256 :
> -        GCCBuiltin<"__builtin_ia32_loadaps256_mask">,
>            Intrinsic<[llvm_v8f32_ty],
>                      [llvm_ptr_ty, llvm_v8f32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_ps_512 :
> -        GCCBuiltin<"__builtin_ia32_loadaps512_mask">,
>            Intrinsic<[llvm_v16f32_ty],
>                      [llvm_ptr_ty, llvm_v16f32_ty, llvm_i16_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_load_pd_128 :
> -        GCCBuiltin<"__builtin_ia32_loadapd128_mask">,
>            Intrinsic<[llvm_v2f64_ty],
>                      [llvm_ptr_ty, llvm_v2f64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_pd_256 :
> -        GCCBuiltin<"__builtin_ia32_loadapd256_mask">,
>            Intrinsic<[llvm_v4f64_ty],
>                      [llvm_ptr_ty, llvm_v4f64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_pd_512 :
> -        GCCBuiltin<"__builtin_ia32_loadapd512_mask">,
>            Intrinsic<[llvm_v8f64_ty],
>                      [llvm_ptr_ty, llvm_v8f64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>  }
> @@ -2985,80 +2973,62 @@ let TargetPrefix = "x86" in {  // All in
>                    [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_loadu_b_128 :
> -         GCCBuiltin<"__builtin_ia32_loaddquqi128_mask">,
>             Intrinsic<[llvm_v16i8_ty],
>                       [llvm_ptr_ty, llvm_v16i8_ty, llvm_i16_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_b_256 :
> -         GCCBuiltin<"__builtin_ia32_loaddquqi256_mask">,
>             Intrinsic<[llvm_v32i8_ty],
>                       [llvm_ptr_ty, llvm_v32i8_ty, llvm_i32_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_b_512 :
> -         GCCBuiltin<"__builtin_ia32_loaddquqi512_mask">,
>             Intrinsic<[llvm_v64i8_ty],
>                       [llvm_ptr_ty, llvm_v64i8_ty, llvm_i64_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_loadu_w_128 :
> -         GCCBuiltin<"__builtin_ia32_loaddquhi128_mask">,
>             Intrinsic<[llvm_v8i16_ty],
>                       [llvm_ptr_ty, llvm_v8i16_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_w_256 :
> -         GCCBuiltin<"__builtin_ia32_loaddquhi256_mask">,
>             Intrinsic<[llvm_v16i16_ty],
>                       [llvm_ptr_ty, llvm_v16i16_ty, llvm_i16_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_w_512 :
> -         GCCBuiltin<"__builtin_ia32_loaddquhi512_mask">,
>             Intrinsic<[llvm_v32i16_ty],
>                       [llvm_ptr_ty, llvm_v32i16_ty, llvm_i32_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_loadu_d_128 :
> -         GCCBuiltin<"__builtin_ia32_loaddqusi128_mask">,
>             Intrinsic<[llvm_v4i32_ty],
>                       [llvm_ptr_ty, llvm_v4i32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_d_256 :
> -         GCCBuiltin<"__builtin_ia32_loaddqusi256_mask">,
>             Intrinsic<[llvm_v8i32_ty],
>                       [llvm_ptr_ty, llvm_v8i32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_d_512 :
> -         GCCBuiltin<"__builtin_ia32_loaddqusi512_mask">,
>             Intrinsic<[llvm_v16i32_ty],
>                       [llvm_ptr_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_loadu_q_128 :
> -         GCCBuiltin<"__builtin_ia32_loaddqudi128_mask">,
>             Intrinsic<[llvm_v2i64_ty],
>                       [llvm_ptr_ty, llvm_v2i64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_q_256 :
> -         GCCBuiltin<"__builtin_ia32_loaddqudi256_mask">,
>             Intrinsic<[llvm_v4i64_ty],
>                       [llvm_ptr_ty, llvm_v4i64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_loadu_q_512 :
> -         GCCBuiltin<"__builtin_ia32_loaddqudi512_mask">,
>             Intrinsic<[llvm_v8i64_ty],
>                       [llvm_ptr_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_load_d_128 :
> -         GCCBuiltin<"__builtin_ia32_movdqa32load128_mask">,
>             Intrinsic<[llvm_v4i32_ty],
>                       [llvm_ptr_ty, llvm_v4i32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_d_256 :
> -         GCCBuiltin<"__builtin_ia32_movdqa32load256_mask">,
>             Intrinsic<[llvm_v8i32_ty],
>                       [llvm_ptr_ty, llvm_v8i32_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_d_512 :
> -         GCCBuiltin<"__builtin_ia32_movdqa32load512_mask">,
>             Intrinsic<[llvm_v16i32_ty],
>                       [llvm_ptr_ty, llvm_v16i32_ty, llvm_i16_ty], [IntrReadMem, IntrArgMemOnly]>;
>
>    def int_x86_avx512_mask_load_q_128 :
> -         GCCBuiltin<"__builtin_ia32_movdqa64load128_mask">,
>             Intrinsic<[llvm_v2i64_ty],
>                       [llvm_ptr_ty, llvm_v2i64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_q_256 :
> -         GCCBuiltin<"__builtin_ia32_movdqa64load256_mask">,
>             Intrinsic<[llvm_v4i64_ty],
>                       [llvm_ptr_ty, llvm_v4i64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>    def int_x86_avx512_mask_load_q_512 :
> -         GCCBuiltin<"__builtin_ia32_movdqa64load512_mask">,
>             Intrinsic<[llvm_v8i64_ty],
>                       [llvm_ptr_ty, llvm_v8i64_ty, llvm_i8_ty], [IntrReadMem, IntrArgMemOnly]>;
>  }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list