1 2# RUN: not llvm-mc -triple powerpc64-unknown-unknown < %s 2> %t 3# RUN: FileCheck < %t %s 4 5# Register operands 6 7# CHECK: error: invalid operand for instruction 8# CHECK-NEXT: add 32, 32, 32 9 add 32, 32, 32 10 11# CHECK: error: invalid register name 12# CHECK-NEXT: add %r32, %r32, %r32 13 add %r32, %r32, %r32 14 15# TLS register operands 16 17# CHECK: error: invalid operand for instruction 18# CHECK-NEXT: add 3, symbol@tls, 4 19 add 3, symbol@tls, 4 20 21# CHECK: error: invalid operand for instruction 22# CHECK-NEXT: subf 3, 4, symbol@tls 23 subf 3, 4, symbol@tls 24 25# Signed 16-bit immediate operands 26 27# CHECK: error: invalid operand for instruction 28# CHECK-NEXT: addi 1, 0, -32769 29 addi 1, 0, -32769 30 31# CHECK: error: invalid operand for instruction 32# CHECK-NEXT: addi 1, 0, 32768 33 addi 1, 0, 32768 34 35# Unsigned 16-bit immediate operands 36 37# CHECK: error: invalid operand for instruction 38# CHECK-NEXT: ori 1, 2, -1 39 ori 1, 2, -1 40 41# CHECK: error: invalid operand for instruction 42# CHECK-NEXT: ori 1, 2, 65536 43 ori 1, 2, 65536 44 45# Signed 16-bit immediate operands (extended range for addis) 46 47# CHECK: error: invalid operand for instruction 48 addis 1, 0, -65537 49 50# CHECK: error: invalid operand for instruction 51 addis 1, 0, 65536 52 53# D-Form memory operands 54 55# CHECK: error: invalid register number 56# CHECK-NEXT: lwz 1, 0(32) 57 lwz 1, 0(32) 58 59# CHECK: error: invalid register name 60# CHECK-NEXT: lwz 1, 0(%r32) 61 lwz 1, 0(%r32) 62 63# CHECK: error: invalid operand for instruction 64# CHECK-NEXT: lwz 1, -32769(2) 65 lwz 1, -32769(2) 66 67# CHECK: error: invalid operand for instruction 68# CHECK-NEXT: lwz 1, 32768(2) 69 lwz 1, 32768(2) 70 71# CHECK: error: invalid register number 72# CHECK-NEXT: ld 1, 0(32) 73 ld 1, 0(32) 74 75# CHECK: error: invalid register name 76# CHECK-NEXT: ld 1, 0(%r32) 77 ld 1, 0(%r32) 78 79# CHECK: error: invalid operand for instruction 80# CHECK-NEXT: ld 1, 1(2) 81 ld 1, 1(2) 82 83# CHECK: error: invalid operand for instruction 84# CHECK-NEXT: ld 1, 2(2) 85 ld 1, 2(2) 86 87# CHECK: error: invalid operand for instruction 88# CHECK-NEXT: ld 1, 3(2) 89 ld 1, 3(2) 90 91# CHECK: error: invalid operand for instruction 92# CHECK-NEXT: ld 1, -32772(2) 93 ld 1, -32772(2) 94 95# CHECK: error: invalid operand for instruction 96# CHECK-NEXT: ld 1, 32768(2) 97 ld 1, 32768(2) 98 99