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