[AMDGPU] Add True16 register classes.
[llvm-project.git] / llvm / test / MC / AMDGPU / mimg-err.s
blob6cf92f29c27b78eea208787d967cb2de5920c6f3
1 // RUN: not llvm-mc -triple=amdgcn %s 2>&1 | FileCheck %s --check-prefix=NOGCN --implicit-check-not=error:
2 // RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefix=NOGCN --implicit-check-not=error:
3 // RUN: not llvm-mc -triple=amdgcn -mcpu=fiji %s 2>&1 | FileCheck %s --check-prefix=NOGCN --implicit-check-not=error:
4 // RUN: not llvm-mc -triple=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck %s --check-prefix=NOGFX9 --implicit-check-not=error:
5 // RUN: not llvm-mc -triple=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck %s --check-prefix=NOGFX90A --implicit-check-not=error:
7 //===----------------------------------------------------------------------===//
8 // Image Load/Store
9 //===----------------------------------------------------------------------===//
11 image_load v[4:6], v[237:240], s[28:35] dmask:0x7 tfe
12 // NOGCN: error: image data size does not match dmask and tfe
13 // NOGFX9: error: image data size does not match dmask, d16 and tfe
14 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
16 image_load v[4:5], v[237:240], s[28:35] dmask:0x7
17 // NOGCN: error: image data size does not match dmask and tfe
18 // NOGFX9: error: image data size does not match dmask, d16 and tfe
19 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
21 image_store v[4:7], v[237:240], s[28:35] dmask:0x7
22 // NOGCN: error: image data size does not match dmask and tfe
23 // NOGFX9: error: image data size does not match dmask, d16 and tfe
24 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
26 image_store v[4:7], v[237:240], s[28:35] dmask:0xe
27 // NOGCN: error: image data size does not match dmask and tfe
28 // NOGFX9: error: image data size does not match dmask, d16 and tfe
29 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
31 image_load v4, v[237:240], s[28:35] tfe
32 // NOGCN: error: image data size does not match dmask and tfe
33 // NOGFX9: error: image data size does not match dmask, d16 and tfe
34 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
36 //===----------------------------------------------------------------------===//
37 // Image Sample
38 //===----------------------------------------------------------------------===//
40 image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0x7 tfe
41 // NOGCN: error: image data size does not match dmask and tfe
42 // NOGFX9: error: image data size does not match dmask, d16 and tfe
43 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
45 image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0x3
46 // NOGCN: error: image data size does not match dmask and tfe
47 // NOGFX9: error: image data size does not match dmask, d16 and tfe
48 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
50 image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0xf
51 // NOGCN: error: image data size does not match dmask and tfe
52 // NOGFX9: error: image data size does not match dmask, d16 and tfe
53 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
55 //===----------------------------------------------------------------------===//
56 // Image Atomics
57 //===----------------------------------------------------------------------===//
59 image_atomic_add v252, v2, s[8:15] dmask:0x1 tfe
60 // NOGCN: error: image data size does not match dmask and tfe
61 // NOGFX9: error: image data size does not match dmask and tfe
62 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
64 image_atomic_add v[6:7], v255, s[8:15] dmask:0x2
65 // NOGCN: error: image data size does not match dmask and tfe
66 // NOGFX9: error: image data size does not match dmask and tfe
67 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask
69 image_atomic_add v[6:7], v255, s[8:15] dmask:0xf
70 // NOGCN: error: image data size does not match dmask and tfe
71 // NOGFX9: error: image data size does not match dmask and tfe
72 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask
74 image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xf tfe
75 // NOGCN: error: image data size does not match dmask and tfe
76 // NOGFX9: error: image data size does not match dmask and tfe
77 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
79 image_atomic_add v252, v2, s[8:15]
80 // NOGCN: error: invalid atomic image dmask
81 // NOGFX9: error: invalid atomic image dmask
82 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid atomic image dmask
84 image_atomic_add v[6:7], v255, s[8:15] dmask:0x2 tfe
85 // NOGCN: error: invalid atomic image dmask
86 // NOGFX9: error: invalid atomic image dmask
87 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
89 image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xe tfe
90 // NOGCN: error: invalid atomic image dmask
91 // NOGFX9: error: invalid atomic image dmask
92 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
94 //===----------------------------------------------------------------------===//
95 // Image Gather
96 //===----------------------------------------------------------------------===//
98 image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x3
99 // NOGCN: error: invalid image_gather dmask: only one bit must be set
100 // NOGFX9: error: invalid image_gather dmask: only one bit must be set
101 // NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU