11#error "Never use <amxfp8intrin.h> directly; include <immintrin.h> instead."
14#ifndef __AMXFP8INTRIN_H
15#define __AMXFP8INTRIN_H
18#define __DEFAULT_FN_ATTRS_FP8 \
19 __attribute__((__always_inline__, __nodebug__, __target__("amx-fp8")))
21static __inline__ _tile1024i __DEFAULT_FN_ATTRS_FP8
22_tile_dpbf8ps_internal(
unsigned short m,
unsigned short n,
unsigned short k,
23 _tile1024i dst, _tile1024i src1, _tile1024i src2) {
24 return __builtin_ia32_tdpbf8ps_internal(m, n, k, dst, src1, src2);
64__DEFAULT_FN_ATTRS_FP8
static void
65__tile_dpbf8ps(__tile1024i *dst, __tile1024i src1, __tile1024i src2) {
66 dst->tile = _tile_dpbf8ps_internal(src1.row, src2.col, src1.col, dst->tile,
67 src1.tile, src2.tile);
70static __inline__ _tile1024i __DEFAULT_FN_ATTRS_FP8
71_tile_dpbhf8ps_internal(
unsigned short m,
unsigned short n,
unsigned short k,
72 _tile1024i dst, _tile1024i src1, _tile1024i src2) {
73 return __builtin_ia32_tdpbhf8ps_internal(m, n, k, dst, src1, src2);
113__DEFAULT_FN_ATTRS_FP8
static void
114__tile_dpbhf8ps(__tile1024i *dst, __tile1024i src1, __tile1024i src2) {
115 dst->tile = _tile_dpbhf8ps_internal(src1.row, src2.col, src1.col, dst->tile,
116 src1.tile, src2.tile);
119static __inline__ _tile1024i __DEFAULT_FN_ATTRS_FP8
120_tile_dphbf8ps_internal(
unsigned short m,
unsigned short n,
unsigned short k,
121 _tile1024i dst, _tile1024i src1, _tile1024i src2) {
122 return __builtin_ia32_tdphbf8ps_internal(m, n, k, dst, src1, src2);
163__DEFAULT_FN_ATTRS_FP8
static void
164__tile_dphbf8ps(__tile1024i *dst, __tile1024i src1, __tile1024i src2) {
165 dst->tile = _tile_dphbf8ps_internal(src1.row, src2.col, src1.col, dst->tile,
166 src1.tile, src2.tile);
169static __inline__ _tile1024i __DEFAULT_FN_ATTRS_FP8
170_tile_dphf8ps_internal(
unsigned short m,
unsigned short n,
unsigned short k,
171 _tile1024i dst, _tile1024i src1, _tile1024i src2) {
172 return __builtin_ia32_tdphf8ps_internal(m, n, k, dst, src1, src2);
212__DEFAULT_FN_ATTRS_FP8
static void
213__tile_dphf8ps(__tile1024i *dst, __tile1024i src1, __tile1024i src2) {
214 dst->tile = _tile_dphf8ps_internal(src1.row, src2.col, src1.col, dst->tile,
215 src1.tile, src2.tile);
218#define _tile_dpbf8ps(dst, src1, src2) \
219 __builtin_ia32_tdpbf8ps((dst), (src1), (src2))
220#define _tile_dpbhf8ps(dst, src1, src2) \
221 __builtin_ia32_tdpbhf8ps((dst), (src1), (src2))
222#define _tile_dphbf8ps(dst, src1, src2) \
223 __builtin_ia32_tdphbf8ps((dst), (src1), (src2))
224#define _tile_dphf8ps(dst, src1, src2) \
225 __builtin_ia32_tdphf8ps((dst), (src1), (src2))
227#undef __DEFAULT_FN_ATTRS_FP8