Home | History | Annotate | Download | only in Hexagon
      1 # RUN: llvm-mc -triple hexagon -disassemble < %s | FileCheck %s
      2 # Hexagon Programmer's Reference Manual 11.5 LD
      3 
      4 # Load doubleword
      5 0x90 0xff 0xd5 0x3a
      6 # CHECK: r17:16 = memd(r21 + r31<<#3)
      7 0xb0 0xc2 0xc0 0x49
      8 # CHECK: r17:16 = memd(#168)
      9 0x02 0x40 0x00 0x00 0x10 0xc5 0xc0 0x49
     10 # CHECK: r17:16 = memd(##168)
     11 0xd0 0xc0 0xd5 0x91
     12 # CHECK: r17:16 = memd(r21 + #48)
     13 0xb0 0xe0 0xd5 0x99
     14 # CHECK: r17:16 = memd(r21 ++ #40:circ(m1))
     15 0x10 0xe2 0xd5 0x99
     16 # CHECK: r17:16 = memd(r21 ++ I:circ(m1))
     17 0x00 0x40 0x00 0x00 0x70 0xd7 0xd5 0x9b
     18 # CHECK: r17:16 = memd(r21 = ##31)
     19 0xb0 0xc0 0xd5 0x9b
     20 # CHECK: r17:16 = memd(r21++#40)
     21 0x10 0xe0 0xd5 0x9d
     22 # CHECK: r17:16 = memd(r21++m1)
     23 0x10 0xe0 0xd5 0x9f
     24 # CHECK: r17:16 = memd(r21 ++ m1:brev)
     25 
     26 # Load doubleword conditionally
     27 0xf0 0xff 0xd5 0x30
     28 # CHECK: if (p3) r17:16 = memd(r21+r31<<#3)
     29 0xf0 0xff 0xd5 0x31
     30 # CHECK: if (!p3) r17:16 = memd(r21+r31<<#3)
     31 0x03 0x40 0x45 0x85 0xf0 0xff 0xd5 0x32
     32 # CHECK: p3 = r5
     33 # CHECK-NEXT: if (p3.new) r17:16 = memd(r21+r31<<#3)
     34 0x03 0x40 0x45 0x85 0xf0 0xff 0xd5 0x33
     35 # CHECK: p3 = r5
     36 # CHECK-NEXT: if (!p3.new) r17:16 = memd(r21+r31<<#3)
     37 0x70 0xd8 0xd5 0x41
     38 # CHECK: if (p3) r17:16 = memd(r21 + #24)
     39 0x03 0x40 0x45 0x85 0x70 0xd8 0xd5 0x43
     40 # CHECK: p3 = r5
     41 # CHECK-NEXT: if (p3.new) r17:16 = memd(r21 + #24)
     42 0x70 0xd8 0xd5 0x45
     43 # CHECK: if (!p3) r17:16 = memd(r21 + #24)
     44 0x03 0x40 0x45 0x85 0x70 0xd8 0xd5 0x47
     45 # CHECK: p3 = r5
     46 # CHECK-NEXT: if (!p3.new) r17:16 = memd(r21 + #24)
     47 0xb0 0xe6 0xd5 0x9b
     48 # CHECK: if (p3) r17:16 = memd(r21++#40)
     49 0xb0 0xee 0xd5 0x9b
     50 # CHECK: if (!p3) r17:16 = memd(r21++#40)
     51 0x03 0x40 0x45 0x85 0xb0 0xf6 0xd5 0x9b
     52 # CHECK: p3 = r5
     53 # CHECK-NEXT: if (p3.new) r17:16 = memd(r21++#40)
     54 0x03 0x40 0x45 0x85 0xb0 0xfe 0xd5 0x9b
     55 # CHECK: p3 = r5
     56 # CHECK-NEXT: if (!p3.new) r17:16 = memd(r21++#40)
     57 
     58 # Load byte
     59 0x91 0xff 0x15 0x3a
     60 # CHECK: r17 = memb(r21 + r31<<#3)
     61 0xb1 0xc2 0x00 0x49
     62 # CHECK: r17 = memb(#21)
     63 0x00 0x40 0x00 0x00 0xb1 0xc2 0x00 0x49
     64 # CHECK: r17 = memb(##21)
     65 0xf1 0xc3 0x15 0x91
     66 # CHECK: r17 = memb(r21 + #31)
     67 0xb1 0xe0 0x15 0x99
     68 # CHECK: r17 = memb(r21 ++ #5:circ(m1))
     69 0x11 0xe2 0x15 0x99
     70 # CHECK: r17 = memb(r21 ++ I:circ(m1))
     71 0x00 0x40 0x00 0x00 0x71 0xd7 0x15 0x9b
     72 # CHECK: r17 = memb(r21 = ##31)
     73 0xb1 0xc0 0x15 0x9b
     74 # CHECK: r17 = memb(r21++#5)
     75 0x11 0xe0 0x15 0x9d
     76 # CHECK: r17 = memb(r21++m1)
     77 0x11 0xe0 0x15 0x9f
     78 # CHECK: r17 = memb(r21 ++ m1:brev)
     79 
     80 # Load byte conditionally
     81 0xf1 0xff 0x15 0x30
     82 # CHECK: if (p3) r17 = memb(r21+r31<<#3)
     83 0xf1 0xff 0x15 0x31
     84 # CHECK: if (!p3) r17 = memb(r21+r31<<#3)
     85 0x03 0x40 0x45 0x85 0xf1 0xff 0x15 0x32
     86 # CHECK: p3 = r5
     87 # CHECK-NEXT: if (p3.new) r17 = memb(r21+r31<<#3)
     88 0x03 0x40 0x45 0x85 0xf1 0xff 0x15 0x33
     89 # CHECK: p3 = r5
     90 # CHECK-NEXT: if (!p3.new) r17 = memb(r21+r31<<#3)
     91 0x91 0xdd 0x15 0x41
     92 # CHECK: if (p3) r17 = memb(r21 + #44)
     93 0x03 0x40 0x45 0x85 0x91 0xdd 0x15 0x43
     94 # CHECK: p3 = r5
     95 # CHECK-NEXT: if (p3.new) r17 = memb(r21 + #44)
     96 0x91 0xdd 0x15 0x45
     97 # CHECK: if (!p3) r17 = memb(r21 + #44)
     98 0x03 0x40 0x45 0x85 0x91 0xdd 0x15 0x47
     99 # CHECK: p3 = r5
    100 # CHECK-NEXT: if (!p3.new) r17 = memb(r21 + #44)
    101 0xb1 0xe6 0x15 0x9b
    102 # CHECK: if (p3) r17 = memb(r21++#5)
    103 0xb1 0xee 0x15 0x9b
    104 # CHECK: if (!p3) r17 = memb(r21++#5)
    105 0x03 0x40 0x45 0x85 0xb1 0xf6 0x15 0x9b
    106 # CHECK: p3 = r5
    107 # CHECK-NEXT: if (p3.new) r17 = memb(r21++#5)
    108 0x03 0x40 0x45 0x85 0xb1 0xfe 0x15 0x9b
    109 # CHECK: p3 = r5
    110 # CHECK-NEXT: if (!p3.new) r17 = memb(r21++#5)
    111 
    112 # Load byte into shifted vector
    113 0xf0 0xc3 0x95 0x90
    114 # CHECK: r17:16 = memb_fifo(r21 + #31)
    115 0xb0 0xe0 0x95 0x98
    116 # CHECK: r17:16 = memb_fifo(r21 ++ #5:circ(m1))
    117 0x10 0xe2 0x95 0x98
    118 # CHECK: r17:16 = memb_fifo(r21 ++ I:circ(m1))
    119 
    120 # Load half into shifted vector
    121 0xf0 0xc3 0x55 0x90
    122 # CHECK: r17:16 = memh_fifo(r21 + #62)
    123 0xb0 0xe0 0x55 0x98
    124 # CHECK: r17:16 = memh_fifo(r21 ++ #10:circ(m1))
    125 0x10 0xe2 0x55 0x98
    126 # CHECK: r17:16 = memh_fifo(r21 ++ I:circ(m1))
    127 
    128 # Load halfword
    129 0x91 0xff 0x55 0x3a
    130 # CHECK: r17 = memh(r21 + r31<<#3)
    131 0xb1 0xc2 0x40 0x49
    132 # CHECK: r17 = memh(#42)
    133 0x00 0x40 0x00 0x00 0x51 0xc5 0x40 0x49
    134 # CHECK: r17 = memh(##42)
    135 0xf1 0xc3 0x55 0x91
    136 # CHECK: r17 = memh(r21 + #62)
    137 0xb1 0xe0 0x55 0x99
    138 # CHECK: r17 = memh(r21 ++ #10:circ(m1))
    139 0x11 0xe2 0x55 0x99
    140 # CHECK: r17 = memh(r21 ++ I:circ(m1))
    141 0x00 0x40 0x00 0x00 0x71 0xd7 0x55 0x9b
    142 # CHECK: r17 = memh(r21 = ##31)
    143 0xb1 0xc0 0x55 0x9b
    144 # CHECK: r17 = memh(r21++#10)
    145 0x11 0xe0 0x55 0x9d
    146 # CHECK: r17 = memh(r21++m1)
    147 0x11 0xe0 0x55 0x9f
    148 # CHECK: r17 = memh(r21 ++ m1:brev)
    149 
    150 # Load halfword conditionally
    151 0xf1 0xff 0x55 0x30
    152 # CHECK: if (p3) r17 = memh(r21+r31<<#3)
    153 0xf1 0xff 0x55 0x31
    154 # CHECK: if (!p3) r17 = memh(r21+r31<<#3)
    155 0x03 0x40 0x45 0x85 0xf1 0xff 0x55 0x32
    156 # CHECK: p3 = r5
    157 # CHECK-NEXT: if (p3.new) r17 = memh(r21+r31<<#3)
    158 0x03 0x40 0x45 0x85 0xf1 0xff 0x55 0x33
    159 # CHECK: p3 = r5
    160 # CHECK-NEXT: if (!p3.new) r17 = memh(r21+r31<<#3)
    161 0xb1 0xe6 0x55 0x9b
    162 # CHECK: if (p3) r17 = memh(r21++#10)
    163 0xb1 0xee 0x55 0x9b
    164 # CHECK: if (!p3) r17 = memh(r21++#10)
    165 0x03 0x40 0x45 0x85 0xb1 0xf6 0x55 0x9b
    166 # CHECK: p3 = r5
    167 # CHECK-NEXT: if (p3.new) r17 = memh(r21++#10)
    168 0x03 0x40 0x45 0x85 0xb1 0xfe 0x55 0x9b
    169 # CHECK: p3 = r5
    170 # CHECK-NEXT: if (!p3.new) r17 = memh(r21++#10)
    171 0xf1 0xdb 0x55 0x41
    172 # CHECK: if (p3) r17 = memh(r21 + #62)
    173 0xf1 0xdb 0x55 0x45
    174 # CHECK: if (!p3) r17 = memh(r21 + #62)
    175 0x03 0x40 0x45 0x85 0xf1 0xdb 0x55 0x43
    176 # CHECK: p3 = r5
    177 # CHECK-NEXT: if (p3.new) r17 = memh(r21 + #62)
    178 0x03 0x40 0x45 0x85 0xf1 0xdb 0x55 0x47
    179 # CHECK: p3 = r5
    180 # CHECK-NEXT: if (!p3.new) r17 = memh(r21 + #62)
    181 
    182 # Load unsigned byte
    183 0x91 0xff 0x35 0x3a
    184 # CHECK: r17 = memub(r21 + r31<<#3)
    185 0xb1 0xc2 0x20 0x49
    186 # CHECK: r17 = memub(#21)
    187 0x00 0x40 0x00 0x00 0xb1 0xc2 0x20 0x49
    188 # CHECK: r17 = memub(##21)
    189 0xf1 0xc3 0x35 0x91
    190 # CHECK: r17 = memub(r21 + #31)
    191 0xb1 0xe0 0x35 0x99
    192 # CHECK: r17 = memub(r21 ++ #5:circ(m1))
    193 0x11 0xe2 0x35 0x99
    194 # CHECK: r17 = memub(r21 ++ I:circ(m1))
    195 0x00 0x40 0x00 0x00 0x71 0xd7 0x35 0x9b
    196 # CHECK: r17 = memub(r21 = ##31)
    197 0xb1 0xc0 0x35 0x9b
    198 # CHECK: r17 = memub(r21++#5)
    199 0x11 0xe0 0x35 0x9d
    200 # CHECK: r17 = memub(r21++m1)
    201 0x11 0xe0 0x35 0x9f
    202 # CHECK: r17 = memub(r21 ++ m1:brev)
    203 
    204 # Load unsigned byte conditionally
    205 0xf1 0xff 0x35 0x30
    206 # CHECK: if (p3) r17 = memub(r21+r31<<#3)
    207 0xf1 0xff 0x35 0x31
    208 # CHECK: if (!p3) r17 = memub(r21+r31<<#3)
    209 0x03 0x40 0x45 0x85 0xf1 0xff 0x35 0x32
    210 # CHECK: p3 = r5
    211 # CHECK-NEXT: if (p3.new) r17 = memub(r21+r31<<#3)
    212 0x03 0x40 0x45 0x85 0xf1 0xff 0x35 0x33
    213 # CHECK: p3 = r5
    214 # CHECK-NEXT: if (!p3.new) r17 = memub(r21+r31<<#3)
    215 0xf1 0xdb 0x35 0x41
    216 # CHECK: if (p3) r17 = memub(r21 + #31)
    217 0x03 0x40 0x45 0x85 0xf1 0xdb 0x35 0x43
    218 # CHECK: p3 = r5
    219 # CHECK-NEXT: if (p3.new) r17 = memub(r21 + #31)
    220 0xf1 0xdb 0x35 0x45
    221 # CHECK: if (!p3) r17 = memub(r21 + #31)
    222 0x03 0x40 0x45 0x85 0xf1 0xdb 0x35 0x47
    223 # CHECK: p3 = r5
    224 # CHECK-NEXT: if (!p3.new) r17 = memub(r21 + #31)
    225 0xb1 0xe6 0x35 0x9b
    226 # CHECK: if (p3) r17 = memub(r21++#5)
    227 0xb1 0xee 0x35 0x9b
    228 # CHECK: if (!p3) r17 = memub(r21++#5)
    229 0x03 0x40 0x45 0x85 0xb1 0xf6 0x35 0x9b
    230 # CHECK: p3 = r5
    231 # CHECK-NEXT: if (p3.new) r17 = memub(r21++#5)
    232 0x03 0x40 0x45 0x85 0xb1 0xfe 0x35 0x9b
    233 # CHECK: p3 = r5
    234 # CHECK-NEXT: if (!p3.new) r17 = memub(r21++#5)
    235 
    236 # Load unsigned halfword
    237 0x91 0xff 0x75 0x3a
    238 # CHECK: r17 = memuh(r21 + r31<<#3)
    239 0xb1 0xc2 0x60 0x49
    240 # CHECK: r17 = memuh(#42)
    241 0x00 0x40 0x00 0x00 0x51 0xc5 0x60 0x49
    242 # CHECK: r17 = memuh(##42)
    243 0xb1 0xc2 0x75 0x91
    244 # CHECK: r17 = memuh(r21 + #42)
    245 0xb1 0xe0 0x75 0x99
    246 # CHECK: r17 = memuh(r21 ++ #10:circ(m1))
    247 0x11 0xe2 0x75 0x99
    248 # CHECK: r17 = memuh(r21 ++ I:circ(m1))
    249 0x00 0x40 0x00 0x00 0x71 0xd7 0x75 0x9b
    250 # CHECK: r17 = memuh(r21 = ##31)
    251 0xb1 0xc0 0x75 0x9b
    252 # CHECK: r17 = memuh(r21++#10)
    253 0x11 0xe0 0x75 0x9d
    254 # CHECK: r17 = memuh(r21++m1)
    255 0x11 0xe0 0x75 0x9f
    256 # CHECK: r17 = memuh(r21 ++ m1:brev)
    257 
    258 # Load unsigned halfword conditionally
    259 0xf1 0xff 0x75 0x30
    260 # CHECK: if (p3) r17 = memuh(r21+r31<<#3)
    261 0xf1 0xff 0x75 0x31
    262 # CHECK: if (!p3) r17 = memuh(r21+r31<<#3)
    263 0x03 0x40 0x45 0x85 0xf1 0xff 0x75 0x32
    264 # CHECK: p3 = r5
    265 # CHECK-NEXT: if (p3.new) r17 = memuh(r21+r31<<#3)
    266 0x03 0x40 0x45 0x85 0xf1 0xff 0x75 0x33
    267 # CHECK: p3 = r5
    268 # CHECK-NEXT: if (!p3.new) r17 = memuh(r21+r31<<#3)
    269 0xb1 0xda 0x75 0x41
    270 # CHECK: if (p3) r17 = memuh(r21 + #42)
    271 0xb1 0xda 0x75 0x45
    272 # CHECK: if (!p3) r17 = memuh(r21 + #42)
    273 0x03 0x40 0x45 0x85 0xb1 0xda 0x75 0x43
    274 # CHECK: p3 = r5
    275 # CHECK-NEXT: if (p3.new) r17 = memuh(r21 + #42)
    276 0x03 0x40 0x45 0x85 0xb1 0xda 0x75 0x47
    277 # CHECK: p3 = r5
    278 # CHECK-NEXT: if (!p3.new) r17 = memuh(r21 + #42)
    279 0xb1 0xe6 0x75 0x9b
    280 # CHECK: if (p3) r17 = memuh(r21++#10)
    281 0xb1 0xee 0x75 0x9b
    282 # CHECK: if (!p3) r17 = memuh(r21++#10)
    283 0x03 0x40 0x45 0x85 0xb1 0xf6 0x75 0x9b
    284 # CHECK: p3 = r5
    285 # CHECK-NEXT: if (p3.new) r17 = memuh(r21++#10)
    286 0x03 0x40 0x45 0x85 0xb1 0xfe 0x75 0x9b
    287 # CHECK: p3 = r5
    288 # CHECK-NEXT: if (!p3.new) r17 = memuh(r21++#10)
    289 
    290 # Load word
    291 0x91 0xff 0x95 0x3a
    292 # CHECK: r17 = memw(r21 + r31<<#3)
    293 0xb1 0xc2 0x80 0x49
    294 # CHECK: r17 = memw(#84)
    295 0x01 0x40 0x00 0x00 0x91 0xc2 0x80 0x49
    296 # CHECK: r17 = memw(##84)
    297 0xb1 0xc2 0x95 0x91
    298 # CHECK: r17 = memw(r21 + #84)
    299 0xb1 0xe0 0x95 0x99
    300 # CHECK: r17 = memw(r21 ++ #20:circ(m1))
    301 0x11 0xe2 0x95 0x99
    302 # CHECK: r17 = memw(r21 ++ I:circ(m1))
    303 0x00 0x40 0x00 0x00 0x71 0xd7 0x95 0x9b
    304 # CHECK: r17 = memw(r21 = ##31)
    305 0xb1 0xc0 0x95 0x9b
    306 # CHECK: r17 = memw(r21++#20)
    307 0x11 0xe0 0x95 0x9d
    308 # CHECK: r17 = memw(r21++m1)
    309 0x11 0xe0 0x95 0x9f
    310 # CHECK: r17 = memw(r21 ++ m1:brev)
    311 
    312 # Load word conditionally
    313 0xf1 0xff 0x95 0x30
    314 # CHECK: if (p3) r17 = memw(r21+r31<<#3)
    315 0xf1 0xff 0x95 0x31
    316 # CHECK: if (!p3) r17 = memw(r21+r31<<#3)
    317 0x03 0x40 0x45 0x85 0xf1 0xff 0x95 0x32
    318 # CHECK: p3 = r5
    319 # CHECK-NEXT: if (p3.new) r17 = memw(r21+r31<<#3)
    320 0x03 0x40 0x45 0x85 0xf1 0xff 0x95 0x33
    321 # CHECK: p3 = r5
    322 # CHECK-NEXT: if (!p3.new) r17 = memw(r21+r31<<#3)
    323 0xb1 0xda 0x95 0x41
    324 # CHECK: if (p3) r17 = memw(r21 + #84)
    325 0xb1 0xda 0x95 0x45
    326 # CHECK: if (!p3) r17 = memw(r21 + #84)
    327 0x03 0x40 0x45 0x85 0xb1 0xda 0x95 0x43
    328 # CHECK: p3 = r5
    329 # CHECK-NEXT: if (p3.new) r17 = memw(r21 + #84)
    330 0x03 0x40 0x45 0x85 0xb1 0xda 0x95 0x47
    331 # CHECK: p3 = r5
    332 # CHECK-NEXT: if (!p3.new) r17 = memw(r21 + #84)
    333 0xb1 0xe6 0x95 0x9b
    334 # CHECK: if (p3) r17 = memw(r21++#20)
    335 0xb1 0xee 0x95 0x9b
    336 # CHECK: if (!p3) r17 = memw(r21++#20)
    337 0x03 0x40 0x45 0x85 0xb1 0xf6 0x95 0x9b
    338 # CHECK: p3 = r5
    339 # CHECK-NEXT: if (p3.new) r17 = memw(r21++#20)
    340 0x03 0x40 0x45 0x85 0xb1 0xfe 0x95 0x9b
    341 # CHECK: p3 = r5
    342 # CHECK-NEXT: if (!p3.new) r17 = memw(r21++#20)
    343 
    344 # Deallocate stack frame
    345 0x1e 0xc0 0x1e 0x90
    346 # CHECK: deallocframe
    347 
    348 # Deallocate stack frame and return
    349 0x1e 0xc0 0x1e 0x96
    350 # CHECK: dealloc_return
    351 0x03 0x40 0x45 0x85 0x1e 0xcb 0x1e 0x96
    352 # CHECK: p3 = r5
    353 # CHECK-NEXT: if (p3.new) dealloc_return:nt
    354 0x1e 0xd3 0x1e 0x96
    355 # CHECK: if (p3) dealloc_return
    356 0x03 0x40 0x45 0x85 0x1e 0xdb 0x1e 0x96
    357 # CHECK: p3 = r5
    358 # CHECK-NEXT: if (p3.new) dealloc_return:t
    359 0x03 0x40 0x45 0x85 0x1e 0xeb 0x1e 0x96
    360 # CHECK: p3 = r5
    361 # CHECK-NEXT: if (!p3.new) dealloc_return:nt
    362 0x1e 0xf3 0x1e 0x96
    363 # CHECK: if (!p3) dealloc_return
    364 0x03 0x40 0x45 0x85 0x1e 0xfb 0x1e 0x96
    365 # CHECK: p3 = r5
    366 # CHECK-NEXT: if (!p3.new) dealloc_return:t
    367 
    368 # Load and unpack bytes to halfwords
    369 0xf1 0xc3 0x35 0x90
    370 # CHECK: r17 = membh(r21 + #62)
    371 0xf1 0xc3 0x75 0x90
    372 # CHECK: r17 = memubh(r21 + #62)
    373 0xf0 0xc3 0xb5 0x90
    374 # CHECK: r17:16 = memubh(r21 + #124)
    375 0xf0 0xc3 0xf5 0x90
    376 # CHECK: r17:16 = membh(r21 + #124)
    377 0xb1 0xe0 0x35 0x98
    378 # CHECK: r17 = membh(r21 ++ #10:circ(m1))
    379 0x11 0xe2 0x35 0x98
    380 # CHECK: r17 = membh(r21 ++ I:circ(m1))
    381 0xb1 0xe0 0x75 0x98
    382 # CHECK: r17 = memubh(r21 ++ #10:circ(m1))
    383 0x11 0xe2 0x75 0x98
    384 # CHECK: r17 = memubh(r21 ++ I:circ(m1))
    385 0xb0 0xe0 0xf5 0x98
    386 # CHECK: r17:16 = membh(r21 ++ #20:circ(m1))
    387 0x10 0xe2 0xf5 0x98
    388 # CHECK: r17:16 = membh(r21 ++ I:circ(m1))
    389 0xb0 0xe0 0xb5 0x98
    390 # CHECK: r17:16 = memubh(r21 ++ #20:circ(m1))
    391 0x10 0xe2 0xb5 0x98
    392 # CHECK: r17:16 = memubh(r21 ++ I:circ(m1))
    393 0x00 0x40 0x00 0x00 0x71 0xd7 0x35 0x9a
    394 # CHECK: r17 = membh(r21 = ##31)
    395 0xb1 0xc0 0x35 0x9a
    396 # CHECK: r17 = membh(r21++#10)
    397 0x00 0x40 0x00 0x00 0x71 0xd7 0x75 0x9a
    398 # CHECK: r17 = memubh(r21 = ##31)
    399 0xb1 0xc0 0x75 0x9a
    400 # CHECK: r17 = memubh(r21++#10)
    401 0x00 0x40 0x00 0x00 0x70 0xd7 0xb5 0x9a
    402 # CHECK: r17:16 = memubh(r21 = ##31)
    403 0xb0 0xc0 0xb5 0x9a
    404 # CHECK: r17:16 = memubh(r21++#20)
    405 0x00 0x40 0x00 0x00 0x70 0xd7 0xf5 0x9a
    406 # CHECK: r17:16 = membh(r21 = ##31)
    407 0xb0 0xc0 0xf5 0x9a
    408 # CHECK: r17:16 = membh(r21++#20)
    409 0x00 0x40 0x00 0x00 0xf1 0xf7 0x35 0x9c
    410 # CHECK: r17 = membh(r21<<#3 + ##31)
    411 0x11 0xe0 0x35 0x9c
    412 # CHECK: r17 = membh(r21++m1)
    413 0x00 0x40 0x00 0x00 0xf1 0xf7 0x75 0x9c
    414 # CHECK: r17 = memubh(r21<<#3 + ##31)
    415 0x11 0xe0 0x75 0x9c
    416 # CHECK: r17 = memubh(r21++m1)
    417 0x00 0x40 0x00 0x00 0xf0 0xf7 0xf5 0x9c
    418 # CHECK: r17:16 = membh(r21<<#3 + ##31)
    419 0x10 0xe0 0xf5 0x9c
    420 # CHECK: r17:16 = membh(r21++m1)
    421 0x00 0x40 0x00 0x00 0xf0 0xf7 0xb5 0x9c
    422 # CHECK: r17:16 = memubh(r21<<#3 + ##31)
    423 0x11 0xe0 0x35 0x9c
    424 # CHECK: r17 = membh(r21++m1)
    425 0x11 0xe0 0x75 0x9c
    426 # CHECK: r17 = memubh(r21++m1)
    427 0x10 0xe0 0xf5 0x9c
    428 # CHECK: r17:16 = membh(r21++m1)
    429 0x10 0xe0 0xb5 0x9c
    430 # CHECK: r17:16 = memubh(r21++m1)
    431 0x11 0xe0 0x35 0x9e
    432 # CHECK: r17 = membh(r21 ++ m1:brev)
    433 0x11 0xe0 0x75 0x9e
    434 # CHECK: r17 = memubh(r21 ++ m1:brev)
    435 0x10 0xe0 0xb5 0x9e
    436 # CHECK: r17:16 = memubh(r21 ++ m1:brev)
    437 0x10 0xe0 0xf5 0x9e
    438 # CHECK: r17:16 = membh(r21 ++ m1:brev)
    439