2 # RUN: not llvm-mc -triple powerpc64-unknown-unknown < %s 2> %t
3 # RUN: FileCheck < %t %s
7 # CHECK: error: invalid operand for instruction
8 # CHECK-NEXT: add 32, 32, 32
11 # CHECK: error: invalid register name
12 # CHECK-NEXT: add %r32, %r32, %r32
15 # TLS register operands
17 # CHECK: error: invalid operand for instruction
18 # CHECK-NEXT: add 3, symbol@tls, 4
21 # CHECK: error: invalid operand for instruction
22 # CHECK-NEXT: subf 3, 4, symbol@tls
25 # Signed 16-bit immediate operands
27 # CHECK: error: invalid operand for instruction
28 # CHECK-NEXT: addi 1, 0, -32769
31 # CHECK: error: invalid operand for instruction
32 # CHECK-NEXT: addi 1, 0, 32768
35 # Unsigned 16-bit immediate operands
37 # CHECK: error: invalid operand for instruction
38 # CHECK-NEXT: ori 1, 2, -1
41 # CHECK: error: invalid operand for instruction
42 # CHECK-NEXT: ori 1, 2, 65536
45 # Signed 16-bit immediate operands (extended range for addis)
47 # CHECK: error: invalid operand for instruction
50 # CHECK: error: invalid operand for instruction
53 # D-Form memory operands
55 # CHECK: error: invalid register number
56 # CHECK-NEXT: lwz 1, 0(32)
59 # CHECK: error: invalid register name
60 # CHECK-NEXT: lwz 1, 0(%r32)
63 # CHECK: error: invalid operand for instruction
64 # CHECK-NEXT: lwz 1, -32769(2)
67 # CHECK: error: invalid operand for instruction
68 # CHECK-NEXT: lwz 1, 32768(2)
71 # CHECK: error: invalid register number
72 # CHECK-NEXT: ld 1, 0(32)
75 # CHECK: error: invalid register name
76 # CHECK-NEXT: ld 1, 0(%r32)
79 # CHECK: error: invalid operand for instruction
80 # CHECK-NEXT: ld 1, 1(2)
83 # CHECK: error: invalid operand for instruction
84 # CHECK-NEXT: ld 1, 2(2)
87 # CHECK: error: invalid operand for instruction
88 # CHECK-NEXT: ld 1, 3(2)
91 # CHECK: error: invalid operand for instruction
92 # CHECK-NEXT: ld 1, -32772(2)
95 # CHECK: error: invalid operand for instruction
96 # CHECK-NEXT: ld 1, 32768(2)
99 # CHECK: error: invalid modifier 'got' (no symbols present)
101 # CHECK-NEXT: addi 4, 3, 123@got