Home | History | Annotate | Download | only in PowerPC
      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