aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/llvm12/include/llvm/IR/IntrinsicsVE.td
blob: 128af17b184a78621c522f4fd5be7cac30bfbf52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Define intrinsics written by hand 
 
// VEL Intrinsic instructions. 
let TargetPrefix = "ve" in { 
  def int_ve_vl_svob : GCCBuiltin<"__builtin_ve_vl_svob">, 
                       Intrinsic<[], [], [IntrHasSideEffects]>; 
 
  def int_ve_vl_pack_f32p : GCCBuiltin<"__builtin_ve_vl_pack_f32p">, 
                            Intrinsic<[llvm_i64_ty], [llvm_ptr_ty, llvm_ptr_ty], 
                                      [IntrReadMem]>; 
  def int_ve_vl_pack_f32a : GCCBuiltin<"__builtin_ve_vl_pack_f32a">, 
                            Intrinsic<[llvm_i64_ty], [llvm_ptr_ty], 
                                      [IntrReadMem]>; 
 
  def int_ve_vl_extract_vm512u : 
      GCCBuiltin<"__builtin_ve_vl_extract_vm512u">, 
      Intrinsic<[LLVMType<v256i1>], [LLVMType<v512i1>], [IntrNoMem]>; 
 
  def int_ve_vl_extract_vm512l : 
      GCCBuiltin<"__builtin_ve_vl_extract_vm512l">, 
      Intrinsic<[LLVMType<v256i1>], [LLVMType<v512i1>], [IntrNoMem]>; 
 
  def int_ve_vl_insert_vm512u : 
      GCCBuiltin<"__builtin_ve_vl_insert_vm512u">, 
      Intrinsic<[LLVMType<v512i1>], [LLVMType<v512i1>, LLVMType<v256i1>], 
                [IntrNoMem]>; 
 
  def int_ve_vl_insert_vm512l : 
      GCCBuiltin<"__builtin_ve_vl_insert_vm512l">, 
      Intrinsic<[LLVMType<v512i1>], [LLVMType<v512i1>, LLVMType<v256i1>], 
                [IntrNoMem]>; 
} 
 
// Define intrinsics automatically generated 
include "llvm/IR/IntrinsicsVEVL.gen.td"