1234567891011121314151617181920212223242526272829303132333435 |
- // 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"
|