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