18 namespace ext::oneapi {
29 int32_t
dot_acc(int32_t pa, int32_t pb, int32_t c) {
30 Us a = *(
reinterpret_cast<Us *
>(&pa));
31 Us b = *(
reinterpret_cast<Us *
>(&pb));
32 return a.s[0] * b.s[0] + a.s[1] * b.s[1] + a.s[2] * b.s[2] + a.s[3] * b.s[3] +
36 int32_t
dot_acc(uint32_t pa, uint32_t pb, int32_t c) {
37 Uu a = *(
reinterpret_cast<Uu *
>(&pa));
38 Uu b = *(
reinterpret_cast<Uu *
>(&pb));
39 return a.s[0] * b.s[0] + a.s[1] * b.s[1] + a.s[2] * b.s[2] + a.s[3] * b.s[3] +
43 int32_t
dot_acc(int32_t pa, uint32_t pb, int32_t c) {
44 Us a = *(
reinterpret_cast<Us *
>(&pa));
45 Uu b = *(
reinterpret_cast<Uu *
>(&pb));
46 return a.s[0] * b.s[0] + a.s[1] * b.s[1] + a.s[2] * b.s[2] + a.s[3] * b.s[3] +
50 int32_t
dot_acc(uint32_t pa, int32_t pb, int32_t c) {
51 Uu a = *(
reinterpret_cast<Uu *
>(&pa));
52 Us b = *(
reinterpret_cast<Us *
>(&pb));
53 return a.s[0] * b.s[0] + a.s[1] * b.s[1] + a.s[2] * b.s[2] + a.s[3] * b.s[3] +
58 return a.s0() * b.s0() + a.s1() * b.s1() + a.s2() * b.s2() + a.s3() * b.s3() +
63 return a.s0() * b.s0() + a.s1() * b.s1() + a.s2() * b.s2() + a.s3() * b.s3() +
68 return a.s0() * b.s0() + a.s1() * b.s1() + a.s2() * b.s2() + a.s3() * b.s3() +
73 return a.s0() * b.s0() + a.s1() * b.s1() + a.s2() * b.s2() + a.s3() * b.s3() +