Home | History | Annotate | Download | only in Mips
      1 # RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r2 | \
      2 # RUN:   FileCheck %s
      3 # RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r6 | \
      4 # RUN:   FileCheck %s
      5 
      6 bits_32_to_47_0x0000:           # CHECK-LABEL: bits_32_to_47_0x0000:
      7 dla $5, 0x0000000000000001      # CHECK: daddiu $5, $zero, 1         # encoding: [0x64,0x05,0x00,0x01]
      8 dla $5, 0x0000000000000002      # CHECK: daddiu $5, $zero, 2         # encoding: [0x64,0x05,0x00,0x02]
      9 dla $5, 0x0000000000004000      # CHECK: daddiu $5, $zero, 16384     # encoding: [0x64,0x05,0x40,0x00]
     10 dla $5, 0x0000000000008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
     11 dla $5, 0x00000000ffff8000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
     12                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     13                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     14 dla $5, 0x00000000ffffc000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
     15                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     16                                 # CHECK: ori $5, $5, 49152           # encoding: [0x34,0xa5,0xc0,0x00]
     17 dla $5, 0x00000000fffffffe      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
     18                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     19                                 # CHECK: ori $5, $5, 65534           # encoding: [0x34,0xa5,0xff,0xfe]
     20 dla $5, 0x00000000ffffffff      # CHECK: lui $5, 65535               # encoding: [0x3c,0x05,0xff,0xff]
     21                                 # CHECK: dsrl32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3e]
     22 dla $5, 0x0000000000010000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
     23 dla $5, 0x0000000000020000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
     24 dla $5, 0x0000000040000000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
     25 dla $5, 0x0000000080000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
     26                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     27 dla $5, 0x00000000c0000000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
     28                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     29 dla $5, 0x00000000fffe0000      # CHECK: ori $5, $zero, 65534        # encoding: [0x34,0x05,0xff,0xfe]
     30                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     31 dla $5, 0x00000000ffff0000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
     32                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     33 dla $5, 0x0000000000010001      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
     34                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
     35 dla $5, 0x0000000000020001      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
     36                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
     37 dla $5, 0x0000000040000001      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
     38                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
     39 dla $5, 0x0000000080000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
     40                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     41                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
     42 dla $5, 0x0000000000010002      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
     43                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
     44 dla $5, 0x0000000000020002      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
     45                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
     46 dla $5, 0x0000000040000002      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
     47                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
     48 dla $5, 0x0000000080000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
     49                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     50                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
     51 dla $5, 0x0000000000014000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
     52                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
     53 dla $5, 0x0000000000024000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
     54                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
     55 dla $5, 0x0000000040004000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
     56                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
     57 dla $5, 0x0000000080004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
     58                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     59                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
     60 dla $5, 0x0000000000018000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
     61                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     62 dla $5, 0x0000000000028000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
     63                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     64 dla $5, 0x0000000040008000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
     65                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     66 dla $5, 0x0000000080008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
     67                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     68                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     69 dla $5, 0x00000000c0008000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
     70                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     71                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     72 dla $5, 0x00000000fffe8000      # CHECK: ori $5, $zero, 65534        # encoding: [0x34,0x05,0xff,0xfe]
     73                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     74                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     75 dla $5, 0x00000000ffff8000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
     76                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     77                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     78 bits_32_to_47_0x0001:           # CHECK-LABEL: bits_32_to_47_0x0001:
     79 dla $5, 0x0000000100000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
     80                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
     81 dla $5, 0x0000000100000001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
     82                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
     83                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
     84 dla $5, 0x0000000100000002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
     85                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
     86                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
     87 dla $5, 0x0000000100004000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
     88                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
     89                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
     90 dla $5, 0x0000000100008000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
     91                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
     92                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
     93 dla $5, 0x0000000100010000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
     94                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     95                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
     96                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     97 dla $5, 0x0000000100010001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
     98                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
     99                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    100                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    101                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    102 dla $5, 0x0000000100010002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    103                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    104                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    105                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    106                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    107 dla $5, 0x0000000100014000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    108                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    109                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    110                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    111                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    112 dla $5, 0x0000000100018000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    113                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    114                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    115                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    116                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    117 dla $5, 0x0000000100020000      # CHECK: ori $5, $zero, 32769        # encoding: [0x34,0x05,0x80,0x01]
    118                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
    119 dla $5, 0x0000000100020001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    120                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    121                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    122                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    123                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    124 dla $5, 0x0000000100020002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    125                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    126                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    127                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    128                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    129 dla $5, 0x0000000100024000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    130                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    131                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    132                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    133                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    134 dla $5, 0x0000000100028000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    135                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    136                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    137                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    138                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    139 dla $5, 0x0000000140000000      # CHECK: ori $5, $zero, 40960        # encoding: [0x34,0x05,0xa0,0x00]
    140                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
    141 dla $5, 0x0000000140000001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    142                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    143                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    144                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    145                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    146 dla $5, 0x0000000140000002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    147                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    148                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    149                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    150                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    151 dla $5, 0x0000000140004000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    152                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    153                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    154                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    155                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    156 dla $5, 0x0000000140008000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    157                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    158                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    159                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    160                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    161 dla $5, 0x0000000180000000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
    162                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
    163 dla $5, 0x0000000180000001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    164                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    165                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    166                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    167                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    168 dla $5, 0x0000000180000002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    169                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    170                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    171                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    172                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    173 dla $5, 0x0000000180004000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    174                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    175                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    176                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    177                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    178 dla $5, 0x0000000180008000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
    179                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    180                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    181                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    182                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    183 bits_32_to_47_0x0002:           # CHECK-LABEL: bits_32_to_47_0x0002:
    184 dla $5, 0x0000000200000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    185                                 # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
    186 dla $5, 0x0000000200000001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    187                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    188                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    189 dla $5, 0x0000000200000002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    190                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    191                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    192 dla $5, 0x0000000200004000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    193                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    194                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    195 dla $5, 0x0000000200008000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    196                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    197                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    198 dla $5, 0x0000000200010000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    199                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    200                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    201                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    202 dla $5, 0x0000000200010001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    203                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    204                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    205                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    206                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    207 dla $5, 0x0000000200010002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    208                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    209                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    210                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    211                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    212 dla $5, 0x0000000200014000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    213                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    214                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    215                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    216                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    217 dla $5, 0x0000000200018000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    218                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    219                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    220                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    221                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    222 dla $5, 0x0000000200020000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    223                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    224                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    225                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    226 dla $5, 0x0000000200020001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    227                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    228                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    229                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    230                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    231 dla $5, 0x0000000200020002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    232                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    233                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    234                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    235                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    236 dla $5, 0x0000000200024000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    237                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    238                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    239                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    240                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    241 dla $5, 0x0000000200028000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    242                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    243                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    244                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    245                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    246 dla $5, 0x0000000240000000      # CHECK: ori $5, $zero, 36864        # encoding: [0x34,0x05,0x90,0x00]
    247                                 # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
    248 dla $5, 0x0000000240000001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    249                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    250                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    251                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    252                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    253 dla $5, 0x0000000240000002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    254                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    255                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    256                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    257                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    258 dla $5, 0x0000000240004000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    259                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    260                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    261                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    262                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    263 dla $5, 0x0000000240008000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    264                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    265                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    266                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    267                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    268 dla $5, 0x0000000280000000      # CHECK: ori $5, $zero, 40960        # encoding: [0x34,0x05,0xa0,0x00]
    269                                 # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
    270 dla $5, 0x0000000280000001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    271                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    272                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    273                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    274                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    275 dla $5, 0x0000000280000002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    276                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    277                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    278                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    279                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    280 dla $5, 0x0000000280004000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    281                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    282                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    283                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    284                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    285 dla $5, 0x0000000280008000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
    286                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    287                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    288                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    289                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    290 bits_32_to_47_0x4000:           # CHECK-LABEL: bits_32_to_47_0x4000:
    291 dla $5, 0x0000400000000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    292                                 # CHECK: dsll $5, $5, 31             # encoding: [0x00,0x05,0x2f,0xf8]
    293 dla $5, 0x0000400000000001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    294                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    295                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    296 dla $5, 0x0000400000000002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    297                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    298                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    299 dla $5, 0x0000400000004000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    300                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    301                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    302 dla $5, 0x0000400000008000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    303                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    304                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    305 dla $5, 0x0000400000010000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    306                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    307                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    308                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    309 dla $5, 0x0000400000010001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    310                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    311                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    312                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    313                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    314 dla $5, 0x0000400000010002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    315                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    316                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    317                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    318                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    319 dla $5, 0x0000400000014000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    320                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    321                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    322                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    323                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    324 dla $5, 0x0000400000018000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    325                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    326                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    327                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    328                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    329 dla $5, 0x0000400000020000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    330                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    331                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    332                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    333 dla $5, 0x0000400000020001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    334                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    335                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    336                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    337                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    338 dla $5, 0x0000400000020002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    339                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    340                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    341                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    342                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    343 dla $5, 0x0000400000024000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    344                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    345                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    346                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    347                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    348 dla $5, 0x0000400000028000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    349                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    350                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    351                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    352                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    353 dla $5, 0x0000400040000000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    354                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    355                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    356                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    357 dla $5, 0x0000400040000001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    358                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    359                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    360                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    361                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    362 dla $5, 0x0000400040000002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    363                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    364                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    365                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    366                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    367 dla $5, 0x0000400040004000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    368                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    369                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    370                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    371                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    372 dla $5, 0x0000400040008000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    373                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    374                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    375                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    376                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    377 dla $5, 0x0000400080000000      # CHECK: ori $5, $zero, 32769        # encoding: [0x34,0x05,0x80,0x01]
    378                                 # CHECK: dsll $5, $5, 31             # encoding: [0x00,0x05,0x2f,0xf8]
    379 dla $5, 0x0000400080000001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    380                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    381                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    382                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    383                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    384 dla $5, 0x0000400080000002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    385                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    386                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    387                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    388                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    389 dla $5, 0x0000400080004000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    390                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    391                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    392                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    393                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    394 dla $5, 0x0000400080008000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
    395                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    396                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    397                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    398                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    399 bits_32_to_47_0x8000:           # CHECK-LABEL: bits_32_to_47_0x8000:
    400 dla $5, 0x0000800000000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    401                                 # CHECK: dsll $5, $5, 32             # encoding: [0x00,0x05,0x28,0x3c]
    402 dla $5, 0x0000800000000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    403                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    404                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    405 dla $5, 0x0000800000000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    406                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    407                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    408 dla $5, 0x0000800000004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    409                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    410                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    411 dla $5, 0x0000800000008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    412                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
    413                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    414 dla $5, 0x0000800000010000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    415                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    416                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    417                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    418 dla $5, 0x0000800000010001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    419                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    420                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    421                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    422                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    423 dla $5, 0x0000800000010002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    424                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    425                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    426                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    427                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    428 dla $5, 0x0000800000014000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    429                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    430                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    431                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    432                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    433 dla $5, 0x0000800000018000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    434                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    435                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    436                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    437                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    438 dla $5, 0x0000800000020000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    439                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    440                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    441                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    442 dla $5, 0x0000800000020001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    443                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    444                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    445                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    446                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    447 dla $5, 0x0000800000020002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    448                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    449                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    450                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    451                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    452 dla $5, 0x0000800000024000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    453                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    454                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    455                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    456                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    457 dla $5, 0x0000800000028000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    458                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    459                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    460                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    461                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    462 dla $5, 0x0000800040000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    463                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    464                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    465                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    466 dla $5, 0x0000800040000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    467                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    468                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    469                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    470                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    471 dla $5, 0x0000800040000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    472                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    473                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    474                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    475                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    476 dla $5, 0x0000800040004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    477                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    478                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    479                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    480                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    481 dla $5, 0x0000800040008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    482                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    483                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    484                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    485                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    486 dla $5, 0x0000800080000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    487                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    488                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    489                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    490 dla $5, 0x0000800080000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    491                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    492                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    493                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    494                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    495 dla $5, 0x0000800080000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    496                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    497                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    498                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    499                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
    500 dla $5, 0x0000800080004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    501                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    502                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    503                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    504                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
    505 dla $5, 0x0000800080008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    506                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    507                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    508                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    509                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    510 # Only test a few with bits 48-63 non-zero. It just adds an lui to the cases we've already done.
    511 dla $5, 0x0001800080008000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
    512                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    513                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    514                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    515                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    516                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    517 dla $5, 0x0002800080008000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
    518                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    519                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    520                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    521                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    522                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    523 dla $5, 0x4000800080008000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
    524                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    525                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    526                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    527                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    528                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    529 dla $5, 0x8000800080008000      # CHECK: lui $5, 32768               # encoding: [0x3c,0x05,0x80,0x00]
    530                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    531                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    532                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    533                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
    534                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
    535 
    536 dla $5, 0x000000000($6)         # CHECK: daddiu $5, $6, 0            # encoding: [0x64,0xc5,0x00,0x00]
    537 dla $5, 0x00000001($6)          # CHECK: daddiu $5, $6, 1            # encoding: [0x64,0xc5,0x00,0x01]
    538 dla $5, 0x00000002($6)          # CHECK: daddiu $5, $6, 2            # encoding: [0x64,0xc5,0x00,0x02]
    539 dla $5, 0x00004000($6)          # CHECK: daddiu $5, $6, 16384        # encoding: [0x64,0xc5,0x40,0x00]
    540 dla $5, 0x00008000($6)          # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
    541                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
    542 dla $5, 0xffffffff($6)          # CHECK: lui     $5, 65535           # encoding: [0x3c,0x05,0xff,0xff]
    543                                 # CHECK: dsrl32  $5, $5, 0           # encoding: [0x00,0x05,0x28,0x3e]
    544                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    545 dla $5, 0xfffffffe($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
    546                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    547                                 # CHECK: ori     $5, $5, 65534       # encoding: [0x34,0xa5,0xff,0xfe]
    548                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    549 dla $5, 0xffffc000($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
    550                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    551                                 # CHECK: ori     $5, $5, 49152       # encoding: [0x34,0xa5,0xc0,0x00]
    552                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    553 dla $5, 0xffff8000($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
    554                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    555                                 # CHECK: ori     $5, $5, 32768       # encoding: [0x34,0xa5,0x80,0x00]
    556                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    557 
    558 dla $5, 0x00010000($6)          # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
    559                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
    560 dla $5, 0x00020000($6)          # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
    561                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
    562 dla $5, 0x40000000($6)          # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
    563                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
    564 dla $5, 0x80000000($6)          # CHECK: ori     $5, $zero, 32768    # encoding: [0x34,0x05,0x80,0x00]
    565                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    566                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    567 dla $5, 0xffff0000($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
    568                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    569                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    570 dla $5, 0xfffe0000($6)          # CHECK: ori     $5, $zero, 65534    # encoding: [0x34,0x05,0xff,0xfe]
    571                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    572                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    573 dla $5, 0xc0000000($6)          # CHECK: ori     $5, $zero, 49152    # encoding: [0x34,0x05,0xc0,0x00]
    574                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    575                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    576 dla $5, 0x80000000($6)          # CHECK: ori     $5, $zero, 32768    # encoding: [0x34,0x05,0x80,0x00]
    577                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
    578                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
    579 
    580 dla $5, 0x00010001($6)          # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
    581                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
    582                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
    583 # There are no further interesting immediates.
    584 
    585 dla $6, 0x00000001($6)          # CHECK: daddiu $6, $6, 1            # encoding: [0x64,0xc6,0x00,0x01]
    586 dla $6, 0x00000002($6)          # CHECK: daddiu $6, $6, 2            # encoding: [0x64,0xc6,0x00,0x02]
    587 dla $6, 0x00004000($6)          # CHECK: daddiu $6, $6, 16384        # encoding: [0x64,0xc6,0x40,0x00]
    588 dla $6, 0x00008000($6)          # CHECK: ori $1, $zero, 32768        # encoding: [0x34,0x01,0x80,0x00]
    589                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    590 dla $6, 0xffffffff($6)          # CHECK: lui     $1, 65535           # encoding: [0x3c,0x01,0xff,0xff]
    591                                 # CHECK: dsrl32  $1, $1, 0           # encoding: [0x00,0x01,0x08,0x3e]
    592                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
    593 dla $6, 0xfffffffe($6)          # CHECK: ori     $1, $zero, 65535    # encoding: [0x34,0x01,0xff,0xff]
    594                                 # CHECK: dsll    $1, $1, 16          # encoding: [0x00,0x01,0x0c,0x38]
    595                                 # CHECK: ori     $1, $1, 65534       # encoding: [0x34,0x21,0xff,0xfe]
    596                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
    597 dla $6, 0xffffc000($6)          # CHECK: ori     $1, $zero, 65535    # encoding: [0x34,0x01,0xff,0xff]
    598                                 # CHECK: dsll    $1, $1, 16          # encoding: [0x00,0x01,0x0c,0x38]
    599                                 # CHECK: ori     $1, $1, 49152       # encoding: [0x34,0x21,0xc0,0x00]
    600                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
    601 dla $6, 0xffff8000($6)          # CHECK: ori     $1, $zero, 65535    # encoding: [0x34,0x01,0xff,0xff]
    602                                 # CHECK: dsll    $1, $1, 16          # encoding: [0x00,0x01,0x0c,0x38]
    603                                 # CHECK: ori     $1, $1, 32768       # encoding: [0x34,0x21,0x80,0x00]
    604                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
    605 
    606 dla $6, 0x00010000($6)          # CHECK: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
    607                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    608 dla $6, 0x00020000($6)          # CHECK: lui $1, 2                   # encoding: [0x3c,0x01,0x00,0x02]
    609                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    610 dla $6, 0x40000000($6)          # CHECK: lui $1, 16384               # encoding: [0x3c,0x01,0x40,0x00]
    611                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    612 dla $6, 0x80000000($6)          # CHECK: ori   $1, $zero, 32768      # encoding: [0x34,0x01,0x80,0x00]
    613                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
    614                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    615 dla $6, 0xffff0000($6)          # CHECK: ori   $1, $zero, 65535      # encoding: [0x34,0x01,0xff,0xff]
    616                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
    617                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    618 dla $6, 0xfffe0000($6)          # CHECK: ori   $1, $zero, 65534      # encoding: [0x34,0x01,0xff,0xfe]
    619                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
    620                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    621 dla $6, 0xc0000000($6)          # CHECK: ori   $1, $zero, 49152      # encoding: [0x34,0x01,0xc0,0x00]
    622                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
    623                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    624 dla $6, 0x80000000($6)          # CHECK: ori   $1, $zero, 32768      # encoding: [0x34,0x01,0x80,0x00]
    625                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
    626                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    627 
    628 dla $6, 0x00010001($6)          # CHECK: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
    629                                 # CHECK: ori $1, $1, 1               # encoding: [0x34,0x21,0x00,0x01]
    630                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
    631 # There are no further interesting immediates.
    632 
    633 symbol:           # CHECK-LABEL: symbol:
    634 .extern extern_sym
    635 .option pic0
    636 dla $5, extern_sym     # CHECK: lui $5, %highest(extern_sym)       # encoding: [0x3c,0x05,A,A]
    637                        # CHECK:                                    # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST
    638                        # CHECK: lui $1, %hi(extern_sym)            # encoding: [0x3c,0x01,A,A]
    639                        # CHECK:                                    # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16
    640                        # CHECK: daddiu $5, $5, %higher(extern_sym) # encoding: [0x64,0xa5,A,A]
    641                        # CHECK:                                    # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER
    642                        # CHECK: daddiu $1, $1, %lo(extern_sym)     # encoding: [0x64,0x21,A,A]
    643                        # CHECK:                                    # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16
    644                        # CHECK: dsll32  $5, $5, 0                  # encoding: [0x00,0x05,0x28,0x3c]
    645                        # CHECK: daddu   $5, $5, $1                 # encoding: [0x00,0xa1,0x28,0x2d]
    646 
    647 dla $5, extern_sym($8) # CHECK: lui $5, %highest(extern_sym)       # encoding: [0x3c,0x05,A,A]
    648                        # CHECK:                                    # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST
    649                        # CHECK: lui $1, %hi(extern_sym)            # encoding: [0x3c,0x01,A,A]
    650                        # CHECK:                                    # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16
    651                        # CHECK: daddiu $5, $5, %higher(extern_sym) # encoding: [0x64,0xa5,A,A]
    652                        # CHECK:                                    # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER
    653                        # CHECK: daddiu $1, $1, %lo(extern_sym)     # encoding: [0x64,0x21,A,A]
    654                        # CHECK:                                    # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16
    655                        # CHECK: dsll32  $5, $5, 0                  # encoding: [0x00,0x05,0x28,0x3c]
    656                        # CHECK: daddu   $5, $5, $1                 # encoding: [0x00,0xa1,0x28,0x2d]
    657                        # CHECK: daddu   $5, $5, $8                 # encoding: [0x00,0xa8,0x28,0x2d]
    658 
    659 dla $5, extern_sym($5) # CHECK: lui $1, %highest(extern_sym)       # encoding: [0x3c,0x01,A,A]
    660                        # CHECK:                                    # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST
    661                        # CHECK: daddiu $1, $1, %higher(extern_sym) # encoding: [0x64,0x21,A,A]
    662                        # CHECK:                                    # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER
    663                        # CHECK: dsll $1, $1, 16                    # encoding: [0x00,0x01,0x0c,0x38]
    664                        # CHECK: daddiu $1, $1, %hi(extern_sym)     # encoding: [0x64,0x21,A,A]
    665                        # CHECK:                                    # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16
    666                        # CHECK: dsll $1, $1, 16                    # encoding: [0x00,0x01,0x0c,0x38]
    667                        # CHECK: daddiu $1, $1, %lo(extern_sym)     # encoding: [0x64,0x21,A,A]
    668                        # CHECK:                                    # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16
    669                        # CHECK: daddu   $5, $1, $5                 # encoding: [0x00,0x25,0x28,0x2d]
    670 
    671 dla $5, extern_sym+8     # CHECK: lui $5, %highest(extern_sym+8)       # encoding: [0x3c,0x05,A,A]
    672                          # CHECK:                                      # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST
    673                          # CHECK: lui $1, %hi(extern_sym+8)            # encoding: [0x3c,0x01,A,A]
    674                          # CHECK:                                      # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16
    675                          # CHECK: daddiu $5, $5, %higher(extern_sym+8) # encoding: [0x64,0xa5,A,A]
    676                          # CHECK:                                      # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER
    677                          # CHECK: daddiu $1, $1, %lo(extern_sym+8)     # encoding: [0x64,0x21,A,A]
    678                          # CHECK:                                      # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16
    679                          # CHECK: dsll32  $5, $5, 0                    # encoding: [0x00,0x05,0x28,0x3c]
    680                          # CHECK: daddu   $5, $5, $1                   # encoding: [0x00,0xa1,0x28,0x2d]
    681 
    682 dla $5, extern_sym+8($8) # CHECK: lui $5, %highest(extern_sym+8)       # encoding: [0x3c,0x05,A,A]
    683                          # CHECK:                                      # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST
    684                          # CHECK: lui $1, %hi(extern_sym+8)            # encoding: [0x3c,0x01,A,A]
    685                          # CHECK:                                      # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16
    686                          # CHECK: daddiu $5, $5, %higher(extern_sym+8) # encoding: [0x64,0xa5,A,A]
    687                          # CHECK:                                      # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER
    688                          # CHECK: daddiu $1, $1, %lo(extern_sym+8)     # encoding: [0x64,0x21,A,A]
    689                          # CHECK:                                      # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16
    690                          # CHECK: dsll32  $5, $5, 0                    # encoding: [0x00,0x05,0x28,0x3c]
    691                          # CHECK: daddu   $5, $5, $1                   # encoding: [0x00,0xa1,0x28,0x2d]
    692                          # CHECK: daddu   $5, $5, $8                   # encoding: [0x00,0xa8,0x28,0x2d]
    693 
    694 dla $5, extern_sym+8($5) # CHECK: lui $1, %highest(extern_sym+8)       # encoding: [0x3c,0x01,A,A]
    695                          # CHECK:                                      # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST
    696                          # CHECK: daddiu $1, $1, %higher(extern_sym+8) # encoding: [0x64,0x21,A,A]
    697                          # CHECK:                                      # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER
    698                          # CHECK: dsll $1, $1, 16                      # encoding: [0x00,0x01,0x0c,0x38]
    699                          # CHECK: daddiu $1, $1, %hi(extern_sym+8)     # encoding: [0x64,0x21,A,A]
    700                          # CHECK:                                      # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16
    701                          # CHECK: dsll $1, $1, 16                      # encoding: [0x00,0x01,0x0c,0x38]
    702                          # CHECK: daddiu $1, $1, %lo(extern_sym+8)     # encoding: [0x64,0x21,A,A]
    703                          # CHECK:                                      # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16
    704                          # CHECK: daddu   $5, $1, $5                   # encoding: [0x00,0x25,0x28,0x2d]
    705 
    706 .option pic2
    707 #dla $5, symbol
    708