|
2 | 2 | // RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx908 -DMFMA_GFX908_TESTS -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-GFX908 |
3 | 3 | // RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx90a -DMFMA_GFX90A_TESTS -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-GFX90A |
4 | 4 | // RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx940 -DMFMA_GFX940_TESTS -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-GFX940 |
| 5 | +// RUN: %clang_cc1 -triple amdgcn-unknown-unknown -target-cpu gfx950 -DMFMA_GFX950_TESTS -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-GFX950 |
5 | 6 |
|
6 | 7 | #pragma OPENCL EXTENSION cl_khr_fp64:enable |
7 | 8 |
|
@@ -222,7 +223,7 @@ void test_mfma_f64_4x4x4f64(global double* out, double a, double b, double c) |
222 | 223 |
|
223 | 224 | #endif // MFMA_GFX90A_TESTS |
224 | 225 |
|
225 | | -#ifdef MFMA_GFX940_TESTS |
| 226 | +#if defined(MFMA_GFX940_TESTS) || defined(MFMA_GFX950_TESTS) |
226 | 227 | // CHECK-GFX940-LABEL: @test_mfma_i32_16x16x32_i8 |
227 | 228 | // CHECK-GFX940: call <4 x i32> @llvm.amdgcn.mfma.i32.16x16x32.i8(i64 %a, i64 %b, <4 x i32> %c, i32 0, i32 0, i32 0) |
228 | 229 | void test_mfma_i32_16x16x32_i8(global v4i* out, long a, long b, v4i c) |
@@ -404,4 +405,24 @@ void test_smfmac_f32_32x32x32_fp8_fp8(global v16f* out, v2i a, v4i b, v16f c, in |
404 | 405 | { |
405 | 406 | *out = __builtin_amdgcn_smfmac_f32_32x32x32_fp8_fp8(a, b, c, idx, 0, 0); |
406 | 407 | } |
407 | | -#endif // MFMA_GFX940_TESTS |
| 408 | +#endif // defined(MFMA_GFX940_TESTS) || defined(MFMA_GFX950_TESTS) |
| 409 | + |
| 410 | +#ifdef MFMA_GFX950_TESTS |
| 411 | + |
| 412 | +// CHECK-GFX950-LABEL: @test_mfma_f32_16x16x32_f16( |
| 413 | +// CHECK-GFX950: tail call <4 x float> @llvm.amdgcn.mfma.f32.16x16x32.f16(<8 x half> %a, <8 x half> %b, <4 x float> %c, i32 1, i32 2, i32 3) |
| 414 | + |
| 415 | +v4f test_mfma_f32_16x16x32_f16(v8h a, v8h b, v4f c) |
| 416 | +{ |
| 417 | + return __builtin_amdgcn_mfma_f32_16x16x32_f16(a, b, c, 1, 2, 3); |
| 418 | +} |
| 419 | + |
| 420 | +// CHECK-GFX950-LABEL: @test_mfma_f32_32x32x16_f16 |
| 421 | +// CHECK-GFX950: tail call <16 x float> @llvm.amdgcn.mfma.f32.32x32x16.f16(<8 x half> %a, <8 x half> %b, <16 x float> %c, i32 1, i32 2, i32 3) |
| 422 | +v16f test_mfma_f32_32x32x16_f16(v8h a, v8h b, v16f c) |
| 423 | +{ |
| 424 | + return __builtin_amdgcn_mfma_f32_32x32x16_f16(a, b, c, 1, 2, 3); |
| 425 | +} |
| 426 | + |
| 427 | + |
| 428 | +#endif |
0 commit comments