================
@@ -7012,6 +7047,315 @@ def int_x86_avx10_mask_vcvtph2hf8s512 :
ClangBuiltin<"__builtin_ia32_vcvtph2hf8s
[IntrNoMem]>;
}
+// AVX10 V2 AUX - Convert instructions
+let TargetPrefix = "x86" in {
+// Convert from FP32 to FP8
+
+// VCVTPS2BF8
+def int_x86_avx10_vcvtps2bf8_128 :
ClangBuiltin<"__builtin_ia32_vcvtps2bf8_128">,
+ DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v4f32_ty], [IntrNoMem]>;
+def int_x86_avx10_vcvtps2bf8_256 :
ClangBuiltin<"__builtin_ia32_vcvtps2bf8_256">,
+ DefaultAttrsIntrinsic<[llvm_v16i8_ty], [llvm_v8f32_ty], [IntrNoMem]>;
----------------
e-kud wrote:
In AVX10.2 patterns built in is with `_256` when the intrinsic itself is
without, e.g.
```
def int_x86_avx10_vcvt2ph2hf8s512 :
ClangBuiltin<"__builtin_ia32_vcvt2ph2hf8s_512">,
DefaultAttrsIntrinsic<[llvm_v64i8_ty], [llvm_v32f16_ty, llvm_v32f16_ty],
```
If we'd like to match AVX10.2 style we need to fix the naming.
https://github.com/llvm/llvm-project/pull/206888
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits