1 // RUN: %clang_cc1 %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +amx-fp8 \
2 // RUN: -emit-llvm -o - -Werror -pedantic | FileCheck %s
5 void test_tdpbf8ps(__tile1024i src1
, __tile1024i src2
, __tile1024i dst
) {
6 //CHECK-LABEL: @test_tdpbf8ps
7 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})
8 //CHECK-DAG: call x86_amx @llvm.x86.tdpbf8ps.internal
9 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})
10 __tile_dpbf8ps(&dst
, src1
, src2
);
13 void test_tdpbhf8ps(__tile1024i src1
, __tile1024i src2
, __tile1024i dst
) {
14 //CHECK-LABEL: @test_tdpbhf8ps
15 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})
16 //CHECK-DAG: call x86_amx @llvm.x86.tdpbhf8ps.internal
17 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})
18 __tile_dpbhf8ps(&dst
, src1
, src2
);
21 void test_tdphbf8ps(__tile1024i src1
, __tile1024i src2
, __tile1024i dst
) {
22 //CHECK-LABEL: @test_tdphbf8ps
23 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})
24 //CHECK-DAG: call x86_amx @llvm.x86.tdphbf8ps.internal
25 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})
26 __tile_dphbf8ps(&dst
, src1
, src2
);
29 void test_tdphf8ps(__tile1024i src1
, __tile1024i src2
, __tile1024i dst
) {
30 //CHECK-LABEL: @test_tdphf8ps
31 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})
32 //CHECK-DAG: call x86_amx @llvm.x86.tdphf8ps.internal
33 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})
34 __tile_dphf8ps(&dst
, src1
, src2
);