xref: /llvm-project/llvm/test/MC/Sparc/sparc-mem-asi-instructions.s (revision e9b8cd0c806db00f0981fb36717077c941426302)
1! RUN: not llvm-mc %s -triple=sparc   -show-encoding 2>&1 | FileCheck %s --check-prefix=V8
2! RUN: not llvm-mc %s -triple=sparcv9 -show-encoding 2>&1 | FileCheck %s --check-prefix=V9
3
4! V8: error: expected absolute expression
5! V8-NEXT: lduba [%i0] asi, %o2
6! V9: error: unexpected token
7! V9-NEXT: lduba [%i0] asi, %o2
8lduba [%i0] asi, %o2
9
10! V8: error: malformed ASI tag, must be a constant integer expression
11! V8-NEXT: lduba [%i0] %g0, %o2
12! V9: error: malformed ASI tag, must be %asi, a constant integer expression, or a named tag
13! V9-NEXT: lduba [%i0] %g0, %o2
14lduba [%i0] %g0, %o2
15
16! V8: error: malformed ASI tag, must be a constant integer expression
17! V8-NEXT: lduba [%i0] %0, %o2
18! V9: error: malformed ASI tag, must be %asi, a constant integer expression, or a named tag
19! V9-NEXT: lduba [%i0] %0, %o2
20lduba [%i0] %0, %o2
21
22! V8: error: invalid ASI number, must be between 0 and 255
23! V8-NEXT: lduba [%i0] -1, %o2
24! V9: error: invalid ASI number, must be between 0 and 255
25! V9-NEXT: lduba [%i0] -1, %o2
26lduba [%i0] -1, %o2
27
28! V8: error: invalid ASI number, must be between 0 and 255
29! V8-NEXT: lduba [%i0] 256, %o2
30! V9: error: invalid ASI number, must be between 0 and 255
31! V9-NEXT: lduba [%i0] 256, %o2
32lduba [%i0] 256, %o2
33
34!! %asi register is only introduced in V9
35! V8: error: malformed ASI tag, must be a constant integer expression
36! V8-NEXT: lduba [%i0] %asi, %o2
37lduba [%i0] %asi, %o2
38
39!! [Reg+Imm] can't be used with immediate ASI forms.
40! V8: error: invalid operand for instruction
41! V8-NEXT: lduba [%i0+1] 255, %o2
42! V9: error: invalid operand for instruction
43! V9-NEXT: lduba [%i0+1] 255, %o2
44lduba [%i0+1] 255, %o2
45
46!! [Reg+Reg] can't be used with stored tag in %asi.
47! V9: error: invalid operand for instruction
48! V9-NEXT: lduba [%i0+%i1] %asi, %o2
49lduba [%i0+%i1] %asi, %o2
50