37 lines · c
1// RUN: %clang_cc1 %s -ffreestanding -triple=x86_64-unknown-unknown -target-feature +amx-fp8 \2// RUN: -emit-llvm -o - -Werror -pedantic | FileCheck %s3#include <immintrin.h>4 5void test_tdpbf8ps(__tile1024i src1, __tile1024i src2, __tile1024i dst) {6 //CHECK-LABEL: @test_tdpbf8ps7 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})8 //CHECK-DAG: call x86_amx @llvm.x86.tdpbf8ps.internal9 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})10 __tile_dpbf8ps(&dst, src1, src2);11}12 13void test_tdpbhf8ps(__tile1024i src1, __tile1024i src2, __tile1024i dst) {14 //CHECK-LABEL: @test_tdpbhf8ps15 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})16 //CHECK-DAG: call x86_amx @llvm.x86.tdpbhf8ps.internal17 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})18 __tile_dpbhf8ps(&dst, src1, src2);19}20 21void test_tdphbf8ps(__tile1024i src1, __tile1024i src2, __tile1024i dst) {22 //CHECK-LABEL: @test_tdphbf8ps23 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})24 //CHECK-DAG: call x86_amx @llvm.x86.tdphbf8ps.internal25 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})26 __tile_dphbf8ps(&dst, src1, src2);27}28 29void test_tdphf8ps(__tile1024i src1, __tile1024i src2, __tile1024i dst) {30 //CHECK-LABEL: @test_tdphf8ps31 //CHECK-DAG: call x86_amx @llvm.x86.cast.vector.to.tile.v256i32(<256 x i32> {{%.*}})32 //CHECK-DAG: call x86_amx @llvm.x86.tdphf8ps.internal33 //CHECK-DAG: call <256 x i32> @llvm.x86.cast.tile.to.vector.v256i32(x86_amx {{%.*}})34 __tile_dphf8ps(&dst, src1, src2);35}36 37