Home | History | Annotate | Download | only in Mips
      1 # RUN: llvm-mc  %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -show-encoding | FileCheck %s
      2 
      3 
      4   .text
      5 text_label:
      6 
      7   add $4, -0x80000000
      8 # CHECK: lui    $1, 32768               # encoding: [0x00,0x80,0x01,0x3c]
      9 # CHECK: add    $4, $4, $1              # encoding: [0x20,0x20,0x81,0x00]
     10   add $4, -0x8001
     11 # CHECK: lui    $1, 65535               # encoding: [0xff,0xff,0x01,0x3c]
     12 # CHECK: ori    $1, $1, 32767           # encoding: [0xff,0x7f,0x21,0x34]
     13 # CHECK: add    $4, $4, $1              # encoding: [0x20,0x20,0x81,0x00]
     14   add $4, -0x8000
     15 # CHECK: addi   $4, $4, -32768          # encoding: [0x00,0x80,0x84,0x20]
     16   add $4, 0
     17 # CHECK: addi   $4, $4, 0               # encoding: [0x00,0x00,0x84,0x20]
     18   add $4, 0xFFFF
     19 # CHECK: ori    $1, $zero, 65535        # encoding: [0xff,0xff,0x01,0x34]
     20 # CHECK: add    $4, $4, $1              # encoding: [0x20,0x20,0x81,0x00]
     21   add $4, 0x10000
     22 # CHECK: lui    $1, 1                   # encoding: [0x01,0x00,0x01,0x3c]
     23 # CHECK: add    $4, $4, $1              # encoding: [0x20,0x20,0x81,0x00]
     24   add $4, 0xFFFFFFFF
     25 # CHECK: addiu  $1, $zero, -1           # encoding: [0xff,0xff,0x01,0x24]
     26 # CHECK: add    $4, $4, $1              # encoding: [0x20,0x20,0x81,0x00]
     27 
     28   add $4, $5, -0x80000000
     29 # CHECK: lui    $4, 32768               # encoding: [0x00,0x80,0x04,0x3c]
     30 # CHECK: add    $4, $4, $5              # encoding: [0x20,0x20,0x85,0x00]
     31   add $4, $5, -0x8001
     32 # CHECK: lui    $4, 65535               # encoding: [0xff,0xff,0x04,0x3c]
     33 # CHECK: ori    $4, $4, 32767           # encoding: [0xff,0x7f,0x84,0x34]
     34 # CHECK: add    $4, $4, $5              # encoding: [0x20,0x20,0x85,0x00]
     35   add $4, $5, -0x8000
     36 # CHECK: addi   $4, $5, -32768          # encoding: [0x00,0x80,0xa4,0x20]
     37   add $4, $5, 0
     38 # CHECK: addi   $4, $5, 0               # encoding: [0x00,0x00,0xa4,0x20]
     39   add $4, $5, 0xFFFF
     40 # CHECK: ori    $4, $zero, 65535        # encoding: [0xff,0xff,0x04,0x34]
     41 # CHECK: add    $4, $4, $5              # encoding: [0x20,0x20,0x85,0x00]
     42   add $4, $5, 0x10000
     43 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
     44 # CHECK: add    $4, $4, $5              # encoding: [0x20,0x20,0x85,0x00]
     45   add $4, $5, 0xFFFFFFFF
     46 # CHECK: addiu  $4, $zero, -1           # encoding: [0xff,0xff,0x04,0x24]
     47 # CHECK: add    $4, $4, $5              # encoding: [0x20,0x20,0x85,0x00]
     48 
     49   addu $4, -0x80000000
     50 # CHECK: lui    $1, 32768               # encoding: [0x00,0x80,0x01,0x3c]
     51 # CHECK: addu   $4, $4, $1              # encoding: [0x21,0x20,0x81,0x00]
     52   addu $4, -0x8001
     53 # CHECK: lui    $1, 65535               # encoding: [0xff,0xff,0x01,0x3c]
     54 # CHECK: ori    $1, $1, 32767           # encoding: [0xff,0x7f,0x21,0x34]
     55 # CHECK: addu   $4, $4, $1              # encoding: [0x21,0x20,0x81,0x00]
     56   addu $4, -0x8000
     57 # CHECK: addiu  $4, $4, -32768          # encoding: [0x00,0x80,0x84,0x24]
     58   addu $4, 0
     59 # CHECK: addiu  $4, $4, 0               # encoding: [0x00,0x00,0x84,0x24]
     60   addu $4, 0xFFFF
     61 # CHECK: ori    $1, $zero, 65535        # encoding: [0xff,0xff,0x01,0x34]
     62 # CHECK: addu   $4, $4, $1              # encoding: [0x21,0x20,0x81,0x00]
     63   addu $4, 0x10000
     64 # CHECK: lui    $1, 1                   # encoding: [0x01,0x00,0x01,0x3c]
     65 # CHECK: addu   $4, $4, $1              # encoding: [0x21,0x20,0x81,0x00]
     66   addu $4, 0xFFFFFFFF
     67 # CHECK: addiu  $1, $zero, -1           # encoding: [0xff,0xff,0x01,0x24]
     68 # CHECK: addu   $4, $4, $1              # encoding: [0x21,0x20,0x81,0x00]
     69 
     70   addu $4, $5, -0x80000000
     71 # CHECK: lui    $4, 32768               # encoding: [0x00,0x80,0x04,0x3c]
     72 # CHECK: addu   $4, $4, $5              # encoding: [0x21,0x20,0x85,0x00]
     73   addu $4, $5, -0x8001
     74 # CHECK: lui    $4, 65535               # encoding: [0xff,0xff,0x04,0x3c]
     75 # CHECK: ori    $4, $4, 32767           # encoding: [0xff,0x7f,0x84,0x34]
     76 # CHECK: addu   $4, $4, $5              # encoding: [0x21,0x20,0x85,0x00]
     77   addu $4, $5, -0x8000
     78 # CHECK: addiu  $4, $5, -32768          # encoding: [0x00,0x80,0xa4,0x24]
     79   addu $4, $5, 0
     80 # CHECK: addiu  $4, $5, 0               # encoding: [0x00,0x00,0xa4,0x24]
     81   addu $4, $5, 0xFFFF
     82 # CHECK: ori    $4, $zero, 65535        # encoding: [0xff,0xff,0x04,0x34]
     83 # CHECK: addu   $4, $4, $5              # encoding: [0x21,0x20,0x85,0x00]
     84   addu $4, $5, 0x10000
     85 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
     86 # CHECK: addu   $4, $4, $5              # encoding: [0x21,0x20,0x85,0x00]
     87   addu $4, $5, 0xFFFFFFFF
     88 # CHECK: addiu  $4, $zero, -1           # encoding: [0xff,0xff,0x04,0x24]
     89 # CHECK: addu   $4, $4, $5              # encoding: [0x21,0x20,0x85,0x00]
     90 
     91   and $4, -0x80000000
     92 # CHECK: lui    $1, 32768               # encoding: [0x00,0x80,0x01,0x3c]
     93 # CHECK: and    $4, $4, $1              # encoding: [0x24,0x20,0x81,0x00]
     94   and $4, -0x8001
     95 # CHECK: lui    $1, 65535               # encoding: [0xff,0xff,0x01,0x3c]
     96 # CHECK: ori    $1, $1, 32767           # encoding: [0xff,0x7f,0x21,0x34]
     97 # CHECK: and    $4, $4, $1              # encoding: [0x24,0x20,0x81,0x00]
     98   and $4, -0x8000
     99 # CHECK: addiu  $1, $zero, -32768       # encoding: [0x00,0x80,0x01,0x24]
    100   and $4, 0
    101 # CHECK: andi   $4, $4, 0               # encoding: [0x00,0x00,0x84,0x30]
    102   and $4, 0xFFFF
    103 # CHECK: andi   $4, $4, 65535           # encoding: [0xff,0xff,0x84,0x30]
    104   and $4, 0x10000
    105 # CHECK: lui    $1, 1                   # encoding: [0x01,0x00,0x01,0x3c]
    106 # CHECK: and    $4, $4, $1              # encoding: [0x24,0x20,0x81,0x00]
    107   and $4, 0xFFFFFFFF
    108 # CHECK: addiu  $1, $zero, -1           # encoding: [0xff,0xff,0x01,0x24]
    109 # CHECK: and    $4, $4, $1              # encoding: [0x24,0x20,0x81,0x00]
    110 
    111   and $4, $5, -0x80000000
    112 # CHECK: lui    $4, 32768               # encoding: [0x00,0x80,0x04,0x3c]
    113 # CHECK: and    $4, $4, $5              # encoding: [0x24,0x20,0x85,0x00]
    114   and $4, $5, -0x8001
    115 # CHECK: lui    $4, 65535               # encoding: [0xff,0xff,0x04,0x3c]
    116 # CHECK: ori    $4, $4, 32767           # encoding: [0xff,0x7f,0x84,0x34]
    117 # CHECK: and    $4, $4, $5              # encoding: [0x24,0x20,0x85,0x00]
    118   and $4, $5, -0x8000
    119 # CHECK: addiu  $4, $zero, -32768       # encoding: [0x00,0x80,0x04,0x24]
    120 # CHECK: and    $4, $4, $5              # encoding: [0x24,0x20,0x85,0x00]
    121   and $4, $5, 0
    122 # CHECK: andi   $4, $5, 0               # encoding: [0x00,0x00,0xa4,0x30]
    123   and $4, $5, 0xFFFF
    124 # CHECK: andi   $4, $5, 65535           # encoding: [0xff,0xff,0xa4,0x30]
    125   and $4, $5, 0x10000
    126 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
    127 # CHECK: and    $4, $4, $5              # encoding: [0x24,0x20,0x85,0x00]
    128   and $4, $5, 0xFFFFFFFF
    129 # CHECK: addiu  $4, $zero, -1           # encoding: [0xff,0xff,0x04,0x24]
    130 # CHECK: and    $4, $4, $5              # encoding: [0x24,0x20,0x85,0x00]
    131 
    132   nor $4, $5, 0
    133 # CHECK: addiu  $4, $zero, 0            # encoding: [0x00,0x00,0x04,0x24]
    134 # CHECK: nor    $4, $4, $5              # encoding: [0x27,0x20,0x85,0x00]
    135   nor $4, $5, 1
    136 # CHECK: addiu  $4, $zero, 1            # encoding: [0x01,0x00,0x04,0x24]
    137 # CHECK: nor    $4, $4, $5              # encoding: [0x27,0x20,0x85,0x00]
    138   nor $4, $5, 0x8000
    139 # CHECK: ori    $4, $zero, 32768        # encoding: [0x00,0x80,0x04,0x34]
    140 # CHECK: nor    $4, $4, $5              # encoding: [0x27,0x20,0x85,0x00]
    141   nor $4, $5, -0x8000
    142 # CHECK: addiu  $4, $zero, -32768       # encoding: [0x00,0x80,0x04,0x24]
    143 # CHECK: nor    $4, $4, $5              # encoding: [0x27,0x20,0x85,0x00]
    144   nor $4, $5, 0x10000
    145 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
    146 # CHECK: nor    $4, $4, $5              # encoding: [0x27,0x20,0x85,0x00]
    147   nor $4, $5, 0x1a5a5
    148 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
    149 # CHECK: ori    $4, $4, 42405           # encoding: [0xa5,0xa5,0x84,0x34]
    150 # CHECK: nor    $4, $4, $5              # encoding: [0x27,0x20,0x85,0x00]
    151 
    152   or $4, -0x80000000
    153 # CHECK: lui    $1, 32768               # encoding: [0x00,0x80,0x01,0x3c]
    154 # CHECK: or     $4, $4, $1              # encoding: [0x25,0x20,0x81,0x00]
    155   or $4, -0x8001
    156 # CHECK: lui    $1, 65535               # encoding: [0xff,0xff,0x01,0x3c]
    157 # CHECK: ori    $1, $1, 32767           # encoding: [0xff,0x7f,0x21,0x34]
    158 # CHECK: or     $4, $4, $1              # encoding: [0x25,0x20,0x81,0x00]
    159   or $4, -0x8000
    160 # CHECK: addiu  $1, $zero, -32768       # encoding: [0x00,0x80,0x01,0x24]
    161 # CHECK: or     $4, $4, $1              # encoding: [0x25,0x20,0x81,0x00]
    162   or $4, 0
    163 # CHECK: ori    $4, $4, 0               # encoding: [0x00,0x00,0x84,0x34]
    164   or $4, 0xFFFF
    165 # CHECK: ori    $4, $4, 65535           # encoding: [0xff,0xff,0x84,0x34]
    166   or $4, 0x10000
    167 # CHECK: lui    $1, 1                   # encoding: [0x01,0x00,0x01,0x3c]
    168 # CHECK: or     $4, $4, $1              # encoding: [0x25,0x20,0x81,0x00]
    169   or $4, 0xFFFFFFFF
    170 # CHECK: addiu  $1, $zero, -1           # encoding: [0xff,0xff,0x01,0x24]
    171 # CHECK: or     $4, $4, $1              # encoding: [0x25,0x20,0x81,0x00]
    172 
    173   or $4, $5, -0x80000000
    174 # CHECK: lui    $4, 32768               # encoding: [0x00,0x80,0x04,0x3c]
    175 # CHECK: or     $4, $4, $5              # encoding: [0x25,0x20,0x85,0x00]
    176   or $4, $5, -0x8001
    177 # CHECK: lui    $4, 65535               # encoding: [0xff,0xff,0x04,0x3c]
    178 # CHECK: ori    $4, $4, 32767           # encoding: [0xff,0x7f,0x84,0x34]
    179 # CHECK: or     $4, $4, $5              # encoding: [0x25,0x20,0x85,0x00]
    180   or $4, $5, -0x8000
    181 # CHECK: addiu  $4, $zero, -32768       # encoding: [0x00,0x80,0x04,0x24]
    182 # CHECK: or     $4, $4, $5              # encoding: [0x25,0x20,0x85,0x00]
    183   or $4, $5, 0
    184 # CHECK: ori    $4, $5, 0               # encoding: [0x00,0x00,0xa4,0x34]
    185   or $4, $5, 0xFFFF
    186 # CHECK: ori    $4, $5, 65535           # encoding: [0xff,0xff,0xa4,0x34]
    187   or $4, $5, 0x10000
    188 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
    189 # CHECK: or     $4, $4, $5              # encoding: [0x25,0x20,0x85,0x00]
    190   or $4, $5, 0xFFFFFFFF
    191 # CHECK: addiu  $4, $zero, -1           # encoding: [0xff,0xff,0x04,0x24]
    192 # CHECK: or     $4, $4, $5              # encoding: [0x25,0x20,0x85,0x00]
    193 
    194   slt $4, $5, -0x80000000
    195 # CHECK: lui    $4, 32768               # encoding: [0x00,0x80,0x04,0x3c]
    196 # CHECK: slt    $4, $4, $5              # encoding: [0x2a,0x20,0x85,0x00]
    197   slt $4, $5, -0x8001
    198 # CHECK: lui    $4, 65535               # encoding: [0xff,0xff,0x04,0x3c]
    199 # CHECK: ori    $4, $4, 32767           # encoding: [0xff,0x7f,0x84,0x34]
    200 # CHECK: slt    $4, $4, $5              # encoding: [0x2a,0x20,0x85,0x00]
    201   slt $4, $5, -0x8000
    202 # CHECK: slti   $4, $5, -32768          # encoding: [0x00,0x80,0xa4,0x28]
    203   slt $4, $5, 0
    204 # CHECK: slti   $4, $5, 0               # encoding: [0x00,0x00,0xa4,0x28]
    205   slt $4, $5, 0xFFFF
    206 # CHECK: ori    $4, $zero, 65535        # encoding: [0xff,0xff,0x04,0x34]
    207   slt $4, $5, 0x10000
    208 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
    209 # CHECK: slt    $4, $4, $5              # encoding: [0x2a,0x20,0x85,0x00]
    210   slt $4, $5, 0xFFFFFFFF
    211 # CHECK: addiu  $4, $zero, -1           # encoding: [0xff,0xff,0x04,0x24]
    212 # CHECK: slt    $4, $4, $5              # encoding: [0x2a,0x20,0x85,0x00]
    213 
    214   sltu $4, $5, -0x80000000
    215 # CHECK: lui    $4, 32768               # encoding: [0x00,0x80,0x04,0x3c]
    216 # CHECK: sltu   $4, $4, $5              # encoding: [0x2b,0x20,0x85,0x00]
    217   sltu $4, $5, -0x8001
    218 # CHECK: lui    $4, 65535               # encoding: [0xff,0xff,0x04,0x3c]
    219 # CHECK: ori    $4, $4, 32767           # encoding: [0xff,0x7f,0x84,0x34]
    220 # CHECK: sltu   $4, $4, $5              # encoding: [0x2b,0x20,0x85,0x00]
    221   sltu $4, $5, -0x8000
    222 # CHECK: sltiu  $4, $5, -32768          # encoding: [0x00,0x80,0xa4,0x2c]
    223   sltu $4, $5, 0
    224 # CHECK: sltiu  $4, $5, 0               # encoding: [0x00,0x00,0xa4,0x2c]
    225   sltu $4, $5, 0xFFFF
    226 # CHECK: ori    $4, $zero, 65535        # encoding: [0xff,0xff,0x04,0x34]
    227   sltu $4, $5, 0x10000
    228 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
    229 # CHECK: sltu   $4, $4, $5              # encoding: [0x2b,0x20,0x85,0x00]
    230   sltu $4, $5, 0xFFFFFFFF
    231 # CHECK: addiu  $4, $zero, -1           # encoding: [0xff,0xff,0x04,0x24]
    232 # CHECK: sltu   $4, $4, $5              # encoding: [0x2b,0x20,0x85,0x00]
    233 
    234   xor $4, -0x80000000
    235 # CHECK: lui    $1, 32768               # encoding: [0x00,0x80,0x01,0x3c]
    236 # CHECK: xor    $4, $4, $1              # encoding: [0x26,0x20,0x81,0x00]
    237   xor $4, -0x8001
    238 # CHECK: lui    $1, 65535               # encoding: [0xff,0xff,0x01,0x3c]
    239 # CHECK: ori    $1, $1, 32767           # encoding: [0xff,0x7f,0x21,0x34]
    240 # CHECK: xor    $4, $4, $1              # encoding: [0x26,0x20,0x81,0x00]
    241   xor $4, -0x8000
    242 # CHECK: addiu  $1, $zero, -32768       # encoding: [0x00,0x80,0x01,0x24]
    243   xor $4, 0
    244 # CHECK: xori   $4, $4, 0               # encoding: [0x00,0x00,0x84,0x38]
    245   xor $4, 0xFFFF
    246 # CHECK: xori   $4, $4, 65535           # encoding: [0xff,0xff,0x84,0x38]
    247   xor $4, 0x10000
    248 # CHECK: lui    $1, 1                   # encoding: [0x01,0x00,0x01,0x3c]
    249 # CHECK: xor    $4, $4, $1              # encoding: [0x26,0x20,0x81,0x00]
    250   xor $4, 0xFFFFFFFF
    251 # CHECK: addiu  $1, $zero, -1           # encoding: [0xff,0xff,0x01,0x24]
    252 # CHECK: xor    $4, $4, $1              # encoding: [0x26,0x20,0x81,0x00]
    253 
    254   xor $4, $5, -0x80000000
    255 # CHECK: lui    $4, 32768               # encoding: [0x00,0x80,0x04,0x3c]
    256 # CHECK: xor    $4, $4, $5              # encoding: [0x26,0x20,0x85,0x00]
    257   xor $4, $5, -0x8001
    258 # CHECK: lui    $4, 65535               # encoding: [0xff,0xff,0x04,0x3c]
    259 # CHECK: ori    $4, $4, 32767           # encoding: [0xff,0x7f,0x84,0x34]
    260 # CHECK: xor    $4, $4, $5              # encoding: [0x26,0x20,0x85,0x00]
    261   xor $4, $5, -0x8000
    262 # CHECK: addiu  $4, $zero, -32768       # encoding: [0x00,0x80,0x04,0x24]
    263 # CHECK: xor $4, $4, $5                 # encoding: [0x26,0x20,0x85,0x00]
    264   xor $4, $5, 0
    265 # CHECK: xori   $4, $5, 0               # encoding: [0x00,0x00,0xa4,0x38]
    266   xor $4, $5, 0xFFFF
    267 # CHECK: xori   $4, $5, 65535           # encoding: [0xff,0xff,0xa4,0x38]
    268   xor $4, $5, 0x10000
    269 # CHECK: lui    $4, 1                   # encoding: [0x01,0x00,0x04,0x3c]
    270 # CHECK: xor    $4, $4, $5              # encoding: [0x26,0x20,0x85,0x00]
    271   xor $4, $5, 0xFFFFFFFF
    272 # CHECK: addiu  $4, $zero, -1           # encoding: [0xff,0xff,0x04,0x24]
    273 # CHECK: xor    $4, $4, $5              # encoding: [0x26,0x20,0x85,0x00]
    274