IntrinsicsVE.td 1.3 KB

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