Home | History | Annotate | Download | only in micromips
      1 # RUN: not llvm-mc %s -triple=mips -show-encoding -mattr=micromips 2>%t1
      2 # RUN: FileCheck %s < %t1
      3 
      4   addiur1sp $7, 260   # CHECK: :[[@LINE]]:17: error: expected both 8-bit unsigned immediate and multiple of 4
      5   addiur1sp $7, 241   # CHECK: :[[@LINE]]:17: error: expected both 8-bit unsigned immediate and multiple of 4
      6   addiur1sp $8, 240   # CHECK: :[[@LINE]]:13: error: invalid operand for instruction
      7   addius5 $2, -9      # CHECK: :[[@LINE]]:15: error: expected 4-bit signed immediate
      8   addius5 $2, 8       # CHECK: :[[@LINE]]:15: error: expected 4-bit signed immediate
      9   break -1            # CHECK: :[[@LINE]]:9: error: expected 10-bit unsigned immediate
     10   break 1024          # CHECK: :[[@LINE]]:9: error: expected 10-bit unsigned immediate
     11   break -1, 5         # CHECK: :[[@LINE]]:9: error: expected 10-bit unsigned immediate
     12   break 1024, 5       # CHECK: :[[@LINE]]:9: error: expected 10-bit unsigned immediate
     13   break 7, -1         # CHECK: :[[@LINE]]:12: error: expected 10-bit unsigned immediate
     14   break 7, 1024       # CHECK: :[[@LINE]]:12: error: expected 10-bit unsigned immediate
     15   break16 -1          # CHECK: :[[@LINE]]:11: error: expected 4-bit unsigned immediate
     16   break16 16          # CHECK: :[[@LINE]]:11: error: expected 4-bit unsigned immediate
     17   cache -1, 255($7)   # CHECK: :[[@LINE]]:9: error: expected 5-bit unsigned immediate
     18   cache 32, 255($7)   # CHECK: :[[@LINE]]:9: error: expected 5-bit unsigned immediate
     19   cachee 0, -513($7)  # CHECK: :[[@LINE]]:13: error: expected memory with 9-bit signed offset
     20   cachee 0, 512($7)   # CHECK: :[[@LINE]]:13: error: expected memory with 9-bit signed offset
     21   # FIXME: Check '0 < pos + size <= 32' constraint on ext
     22   ext $2, $3, -1, 31  # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     23   ext $2, $3, 32, 31  # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     24   ext $2, $3, 1, 0    # CHECK: :[[@LINE]]:18: error: expected immediate in range 1 .. 32
     25   ext $2, $3, 1, 33   # CHECK: :[[@LINE]]:18: error: expected immediate in range 1 .. 32
     26   ins $2, $3, -1, 31  # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     27   ins $2, $3, 32, 31  # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     28   ins $2, $3, -1, 1   # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     29   ins $2, $3, 32, 1   # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     30   ins $2, $3, 0, -1   # CHECK: :[[@LINE]]:18: error: expected immediate in range 1 .. 32
     31   ins $2, $3, 0, 33   # CHECK: :[[@LINE]]:18: error: expected immediate in range 1 .. 32
     32   jraddiusp -1        # CHECK: :[[@LINE]]:13: error: expected both 7-bit unsigned immediate and multiple of 4
     33   jraddiusp -4        # CHECK: :[[@LINE]]:13: error: expected both 7-bit unsigned immediate and multiple of 4
     34   jraddiusp 125       # CHECK: :[[@LINE]]:13: error: expected both 7-bit unsigned immediate and multiple of 4
     35   jraddiusp 128       # CHECK: :[[@LINE]]:13: error: expected both 7-bit unsigned immediate and multiple of 4
     36   li16 $4, -2         # CHECK: :[[@LINE]]:12: error: expected immediate in range -1 .. 126
     37   li16 $4, 127        # CHECK: :[[@LINE]]:12: error: expected immediate in range -1 .. 126
     38   pref -1, 255($7)    # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
     39   pref 32, 255($7)    # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
     40   prefe 0, -513($7)   # CHECK: :[[@LINE]]:12: error: expected memory with 9-bit signed offset
     41   prefe 0, 512($7)    # CHECK: :[[@LINE]]:12: error: expected memory with 9-bit signed offset
     42   rotr $2, -1         # CHECK: :[[@LINE]]:12: error: expected 5-bit unsigned immediate
     43   rotr $2, 32         # CHECK: :[[@LINE]]:12: error: expected 5-bit unsigned immediate
     44   rotr $2, $3, -1     # CHECK: :[[@LINE]]:16: error: expected 5-bit unsigned immediate
     45   rotr $2, $3, 32     # CHECK: :[[@LINE]]:16: error: expected 5-bit unsigned immediate
     46   rotrv $9, $6, 5     # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
     47   sdbbp16 -1          # CHECK: :[[@LINE]]:11: error: expected 4-bit unsigned immediate
     48   sdbbp16 16          # CHECK: :[[@LINE]]:11: error: expected 4-bit unsigned immediate
     49   sll $2, $3, -1      # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     50   sll $2, $3, 32      # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     51   sra $2, $3, -1      # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     52   sra $2, $3, 32      # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     53   srl $2, $3, -1      # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     54   srl $2, $3, 32      # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
     55   sync -1             # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
     56   sync 32             # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
     57   swe $2, -513($gp)   # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     58   swe $2, 512($gp)    # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     59   swe $33, 8($gp)     # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
     60   swe $2, 8($33)      # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     61   sll $3, -1          # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
     62   sll $3, 32          # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
     63   sra $3, -1          # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
     64   sra $3, 32          # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
     65   srl $3, -1          # CHECK: :[[@LINE]]:11: error: expected 5-bit unsigned immediate
     66   lle $33, 8($5)      # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
     67   lle $4, 8($33)      # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     68   lle $4, 512($5)     # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     69   lle $4, -513($5)    # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     70   lwe $33, 8($5)      # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
     71   lwe $4, 8($33)      # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     72   lwe $4, 512($5)     # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     73   lwe $4, -513($5)    # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     74   sbe $33, 8($5)      # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
     75   sbe $4, 8($33)      # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     76   sbe $4, 512($5)     # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     77   sbe $4, -513($5)    # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     78   sce $33, 8($5)      # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
     79   sce $4, 8($33)      # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     80   sce $4, 512($5)     # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     81   sce $4, -513($5)    # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     82   she $33, 8($5)      # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
     83   she $4, 8($33)      # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     84   she $4, 512($5)     # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     85   she $4, -513($5)    # CHECK: :[[@LINE]]:11: error: expected memory with 9-bit signed offset
     86   lh $33, 8($4)       # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
     87   lhe $34, 8($2)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
     88   lhu $35, 8($2)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
     89   lhue $36, 8($2)     # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
     90   lh $2, 8($34)       # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
     91   lhe $4, 8($33)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
     92   lhu $4, 8($35)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
     93   lhue $4, 8($37)     # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
     94   lh $2, -65536($4)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
     95   lh $2, 65536($4)    # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
     96   lhe $4, -512($2)    # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
     97   lhe $4, 512($2)     # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
     98   lhu $4, -65536($2)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
     99   lhu $4, 65536($2)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 16-bit signed offset
    100   lhue $4, -512($2)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
    101   lhue $4, 512($2)    # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 9-bit signed offset
    102   lwp $31, 8($4)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
    103                       # FIXME: This ought to point at the $34 but memory is treated as one operand.
    104   lwp $16, 8($34)     # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
    105   lwp $16, 4096($4)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
    106   lwp $16, 8($16)     # CHECK: :[[@LINE]]:{{[0-9]+}}: error: source and destination must be different
    107   swp $31, 8($4)      # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
    108   swp $16, 8($34)     # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
    109   swp $16, 4096($4)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: expected memory with 12-bit signed offset
    110   andi $3, $4, -1     # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
    111   andi $3, $4, 65536  # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
    112   andi $3, -1         # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
    113   andi $3, 65536      # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
    114   ori $3, $4, -1      # CHECK: :[[@LINE]]:15: error: expected 16-bit unsigned immediate
    115   ori $3, $4, 65536   # CHECK: :[[@LINE]]:15: error: expected 16-bit unsigned immediate
    116   ori $3, -1          # CHECK: :[[@LINE]]:11: error: expected 16-bit unsigned immediate
    117   ori $3, 65536       # CHECK: :[[@LINE]]:11: error: expected 16-bit unsigned immediate
    118   xori $3, $4, -1     # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
    119   xori $3, $4, 65536  # CHECK: :[[@LINE]]:16: error: expected 16-bit unsigned immediate
    120   xori $3, -1         # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
    121   xori $3, 65536      # CHECK: :[[@LINE]]:12: error: expected 16-bit unsigned immediate
    122   not $3, 4           # CHECK: :[[@LINE]]:11: error: invalid operand for instruction
    123   lb $32, 8($5)       # CHECK: :[[@LINE]]:6: error: invalid operand for instruction
    124   lb $4, -32769($5)   # CHECK: :[[@LINE]]:10: error: expected memory with 16-bit signed offset
    125   lb $4, 32768($5)    # CHECK: :[[@LINE]]:10: error: expected memory with 16-bit signed offset
    126   lb $4, 8($32)       # CHECK: :[[@LINE]]:10: error: expected memory with 16-bit signed offset
    127   lbu $32, 8($5)      # CHECK: :[[@LINE]]:7: error: invalid operand for instruction
    128   lbu $4, -32769($5)  # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
    129   lbu $4, 32768($5)   # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
    130   lbu $4, 8($32)      # CHECK: :[[@LINE]]:11: error: expected memory with 16-bit signed offset
    131