Skip to content

Commit fcbfff1

Browse files
authored
AMDGPU: Remove floating point dot4 and dot2 from gfx1250 support (#145751)
We have FeatureDot9Insts for dot2 and FeatureDot11Insts for dot4. And gfx1250 does not support these two features. So everything was in place except that we need to copy SubtargetPredicate from pseudo to real for VOP3_DPP8_t16.
1 parent bc90541 commit fcbfff1

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

llvm/lib/Target/AMDGPU/VOPInstructions.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1679,6 +1679,7 @@ class Base_VOP3_DPP8_t16<bits<10> op, VOP_Pseudo ps, string opName = ps.OpName>
16791679
let SchedRW = ps.SchedRW;
16801680
let Uses = ps.Uses;
16811681

1682+
let SubtargetPredicate = ps.SubtargetPredicate;
16821683
let OtherPredicates = ps.OtherPredicates;
16831684
let True16Predicate = ps.True16Predicate;
16841685
}

llvm/test/MC/AMDGPU/gfx1250_asm_unsupported.s

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,67 @@
11
; RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1250 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX1250-ERR --implicit-check-not=error: --strict-whitespace %s
22

3+
;; DOT4_F32_*, DOT2_F32_*, DOT2_F16 and DOT2_BF16
4+
5+
v_dot4_f32_fp8_fp8 v0, v1, v2, v3
6+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
7+
8+
v_dot4_f32_fp8_fp8 v0, v1, v2, v3 row_mirror
9+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
10+
11+
v_dot4_f32_fp8_fp8 v0, v1, v2, v3 dpp8:[0,1,2,3,4,5,6,7]
12+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
13+
14+
v_dot4_f32_fp8_bf8 v0, v1, v2, v3
15+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
16+
17+
v_dot4_f32_fp8_bf8 v0, v1, v2, v3 quad_perm:[3,2,1,0]
18+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
19+
20+
v_dot4_f32_fp8_bf8 v0, v1, v2, v3 dpp8:[0,1,2,3,4,5,6,7]
21+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
22+
23+
v_dot4_f32_bf8_fp8 v0, v1, v2, v3
24+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
25+
26+
v_dot4_f32_bf8_fp8 v0, v1, v2, v3 row_shl:15
27+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
28+
29+
v_dot4_f32_bf8_fp8 v0, v1, v2, v3 dpp8:[0,1,2,3,4,5,6,7]
30+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
31+
32+
v_dot4_f32_bf8_bf8 v0, v1, v2, v3
33+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
34+
35+
v_dot4_f32_bf8_bf8 v0, v1, v2, v3 row_share:15
36+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
37+
38+
v_dot4_f32_bf8_bf8 v0, v1, v2, v3 dpp8:[0,1,2,3,4,5,6,7]
39+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
40+
41+
v_dot2_f16_f16 v5, v1, v2, s3
42+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
43+
44+
v_dot2_f16_f16_e64_dpp v0, v1, v2, v3 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 fi:1
45+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
46+
47+
v_dot2_f16_f16_e64_dpp v0, v1, v2, v3 dpp8:[0,1,2,3,4,4,4,4]
48+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
49+
50+
v_dot2_bf16_bf16 v5, v1, v2, s3
51+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
52+
53+
v_dot2_bf16_bf16_e64_dpp v0, v1, v2, v3 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 fi:1
54+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
55+
56+
v_dot2_bf16_bf16_e64_dpp v0, v1, v2, v3 dpp8:[0,1,2,3,4,4,4,4]
57+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
58+
59+
v_dot2_f32_bf16 v5, v1, v2, v3
60+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
61+
62+
v_dot2_f32_f16 v5, v1, v2, s3
63+
// GFX1250-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
64+
365
;; LDS-direct and parameter-load, VINTERP
466

567
ds_direct_load v1 wait_va_vdst:15

0 commit comments

Comments
 (0)