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

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon May 30 23:43:01 PDT 2016


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]>;
 }




More information about the llvm-commits mailing list