1// Define intrinsics written by hand 2 3// VEL Intrinsic instructions. 4let 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 32include "llvm/IR/IntrinsicsVEVL.gen.td" 33