Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14 pmbaty 1
// Define intrinsics written by hand
2
 
3
// VEL Intrinsic instructions.
4
let TargetPrefix = "ve" in {
5
  def int_ve_vl_pack_f32p : ClangBuiltin<"__builtin_ve_vl_pack_f32p">,
6
                            Intrinsic<[llvm_i64_ty], [llvm_ptr_ty, llvm_ptr_ty],
7
                                      [IntrReadMem]>;
8
  def int_ve_vl_pack_f32a : ClangBuiltin<"__builtin_ve_vl_pack_f32a">,
9
                            Intrinsic<[llvm_i64_ty], [llvm_ptr_ty],
10
                                      [IntrReadMem]>;
11
 
12
  def int_ve_vl_extract_vm512u :
13
      ClangBuiltin<"__builtin_ve_vl_extract_vm512u">,
14
      Intrinsic<[LLVMType<v256i1>], [LLVMType<v512i1>], [IntrNoMem]>;
15
 
16
  def int_ve_vl_extract_vm512l :
17
      ClangBuiltin<"__builtin_ve_vl_extract_vm512l">,
18
      Intrinsic<[LLVMType<v256i1>], [LLVMType<v512i1>], [IntrNoMem]>;
19
 
20
  def int_ve_vl_insert_vm512u :
21
      ClangBuiltin<"__builtin_ve_vl_insert_vm512u">,
22
      Intrinsic<[LLVMType<v512i1>], [LLVMType<v512i1>, LLVMType<v256i1>],
23
                [IntrNoMem]>;
24
 
25
  def int_ve_vl_insert_vm512l :
26
      ClangBuiltin<"__builtin_ve_vl_insert_vm512l">,
27
      Intrinsic<[LLVMType<v512i1>], [LLVMType<v512i1>, LLVMType<v256i1>],
28
                [IntrNoMem]>;
29
}
30
 
31
// Define intrinsics automatically generated
32
include "llvm/IR/IntrinsicsVEVL.gen.td"