1# RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s 2 30x90 0xff 0xd5 0x3a 4# CHECK: r17:16 = memd(r21 + r31<<#3) 50x10 0xc5 0xc0 0x49 6# CHECK: r17:16 = memd(##320) 70xb0 0xe0 0xd5 0x99 8# CHECK: r17:16 = memd(r21 ++ #40:circ(m1)) 90x10 0xe2 0xd5 0x99 10# CHECK: r17:16 = memd(r21 ++ I:circ(m1)) 110xb0 0xc0 0xd5 0x9b 12# CHECK: r17:16 = memd(r21++#40) 130x10 0xe0 0xd5 0x9d 14# CHECK: r17:16 = memd(r21++m1) 150x10 0xe0 0xd5 0x9f 16# CHECK: r17:16 = memd(r21 ++ m1:brev) 170xf0 0xff 0xd5 0x30 18# CHECK: if (p3) r17:16 = memd(r21+r31<<#3) 190xf0 0xff 0xd5 0x31 20# CHECK: if (!p3) r17:16 = memd(r21+r31<<#3) 210x03 0x40 0x45 0x85 0xf0 0xff 0xd5 0x32 22# CHECK: p3 = r5 23# CHECK-NEXT: if (p3.new) r17:16 = memd(r21+r31<<#3) 240x03 0x40 0x45 0x85 0xf0 0xff 0xd5 0x33 25# CHECK: p3 = r5 26# CHECK-NEXT: if (!p3.new) r17:16 = memd(r21+r31<<#3) 270x70 0xd8 0xd5 0x41 28# CHECK: if (p3) r17:16 = memd(r21 + #24) 290x03 0x40 0x45 0x85 0x70 0xd8 0xd5 0x43 30# CHECK: p3 = r5 31# CHECK-NEXT: if (p3.new) r17:16 = memd(r21 + #24) 320x70 0xd8 0xd5 0x45 33# CHECK: if (!p3) r17:16 = memd(r21 + #24) 340x03 0x40 0x45 0x85 0x70 0xd8 0xd5 0x47 35# CHECK: p3 = r5 36# CHECK-NEXT: if (!p3.new) r17:16 = memd(r21 + #24) 370xb0 0xe6 0xd5 0x9b 38# CHECK: if (p3) r17:16 = memd(r21++#40) 390xb0 0xee 0xd5 0x9b 40# CHECK: if (!p3) r17:16 = memd(r21++#40) 410x03 0x40 0x45 0x85 0xb0 0xf6 0xd5 0x9b 42# CHECK: p3 = r5 43# CHECK-NEXT: if (p3.new) r17:16 = memd(r21++#40) 440x03 0x40 0x45 0x85 0xb0 0xfe 0xd5 0x9b 45# CHECK: p3 = r5 46# CHECK-NEXT: if (!p3.new) r17:16 = memd(r21++#40) 47 480x91 0xff 0x15 0x3a 49# CHECK: r17 = memb(r21 + r31<<#3) 500xb1 0xc2 0x00 0x49 51# CHECK: r17 = memb(##21) 520xf1 0xc3 0x15 0x91 53# CHECK: r17 = memb(r21 + #31) 540xb1 0xe0 0x15 0x99 55# CHECK: r17 = memb(r21 ++ #5:circ(m1)) 560x11 0xe2 0x15 0x99 57# CHECK: r17 = memb(r21 ++ I:circ(m1)) 580xb1 0xc0 0x15 0x9b 59# CHECK: r17 = memb(r21++#5) 600x11 0xe0 0x15 0x9d 61# CHECK: r17 = memb(r21++m1) 620x11 0xe0 0x15 0x9f 63# CHECK: r17 = memb(r21 ++ m1:brev) 640xf1 0xff 0x15 0x30 65# CHECK: if (p3) r17 = memb(r21+r31<<#3) 660xf1 0xff 0x15 0x31 67# CHECK: if (!p3) r17 = memb(r21+r31<<#3) 680x03 0x40 0x45 0x85 0xf1 0xff 0x15 0x32 69# CHECK: p3 = r5 70# CHECK-NEXT: if (p3.new) r17 = memb(r21+r31<<#3) 710x03 0x40 0x45 0x85 0xf1 0xff 0x15 0x33 72# CHECK: p3 = r5 73# CHECK-NEXT: if (!p3.new) r17 = memb(r21+r31<<#3) 740x91 0xdd 0x15 0x41 75# CHECK: if (p3) r17 = memb(r21 + #44) 760x03 0x40 0x45 0x85 0x91 0xdd 0x15 0x43 77# CHECK: p3 = r5 78# CHECK-NEXT: if (p3.new) r17 = memb(r21 + #44) 790x91 0xdd 0x15 0x45 80# CHECK: if (!p3) r17 = memb(r21 + #44) 810x03 0x40 0x45 0x85 0x91 0xdd 0x15 0x47 82# CHECK: p3 = r5 83# CHECK-NEXT: if (!p3.new) r17 = memb(r21 + #44) 840xb1 0xe6 0x15 0x9b 85# CHECK: if (p3) r17 = memb(r21++#5) 860xb1 0xee 0x15 0x9b 87# CHECK: if (!p3) r17 = memb(r21++#5) 880x03 0x40 0x45 0x85 0xb1 0xf6 0x15 0x9b 89# CHECK: p3 = r5 90# CHECK-NEXT: if (p3.new) r17 = memb(r21++#5) 910x03 0x40 0x45 0x85 0xb1 0xfe 0x15 0x9b 92# CHECK: p3 = r5 93# CHECK-NEXT: if (!p3.new) r17 = memb(r21++#5) 94 950x91 0xff 0x55 0x3a 96# CHECK: r17 = memh(r21 + r31<<#3) 970x51 0xc5 0x40 0x49 98# CHECK: r17 = memh(##84) 990xf1 0xc3 0x55 0x91 100# CHECK: r17 = memh(r21 + #62) 1010xb1 0xe0 0x55 0x99 102# CHECK: r17 = memh(r21 ++ #10:circ(m1)) 1030x11 0xe2 0x55 0x99 104# CHECK: r17 = memh(r21 ++ I:circ(m1)) 1050xb1 0xc0 0x55 0x9b 106# CHECK: r17 = memh(r21++#10) 1070x11 0xe0 0x55 0x9d 108# CHECK: r17 = memh(r21++m1) 1090x11 0xe0 0x55 0x9f 110# CHECK: r17 = memh(r21 ++ m1:brev) 1110xf1 0xff 0x55 0x30 112# CHECK: if (p3) r17 = memh(r21+r31<<#3) 1130xf1 0xff 0x55 0x31 114# CHECK: if (!p3) r17 = memh(r21+r31<<#3) 1150x03 0x40 0x45 0x85 0xf1 0xff 0x55 0x32 116# CHECK: p3 = r5 117# CHECK-NEXT: if (p3.new) r17 = memh(r21+r31<<#3) 1180x03 0x40 0x45 0x85 0xf1 0xff 0x55 0x33 119# CHECK: p3 = r5 120# CHECK-NEXT: if (!p3.new) r17 = memh(r21+r31<<#3) 1210xb1 0xe6 0x55 0x9b 122# CHECK: if (p3) r17 = memh(r21++#10) 1230xb1 0xee 0x55 0x9b 124# CHECK: if (!p3) r17 = memh(r21++#10) 1250x03 0x40 0x45 0x85 0xb1 0xf6 0x55 0x9b 126# CHECK: p3 = r5 127# CHECK-NEXT: if (p3.new) r17 = memh(r21++#10) 1280x03 0x40 0x45 0x85 0xb1 0xfe 0x55 0x9b 129# CHECK: p3 = r5 130# CHECK-NEXT: if (!p3.new) r17 = memh(r21++#10) 131 1320x91 0xff 0x35 0x3a 133# CHECK: r17 = memub(r21 + r31<<#3) 1340xb1 0xc2 0x20 0x49 135# CHECK: r17 = memub(##21) 1360xf1 0xc3 0x35 0x91 137# CHECK: r17 = memub(r21 + #31) 1380xb1 0xe0 0x35 0x99 139# CHECK: r17 = memub(r21 ++ #5:circ(m1)) 1400x11 0xe2 0x35 0x99 141# CHECK: r17 = memub(r21 ++ I:circ(m1)) 1420xb1 0xc0 0x35 0x9b 143# CHECK: r17 = memub(r21++#5) 1440x11 0xe0 0x35 0x9d 145# CHECK: r17 = memub(r21++m1) 1460x11 0xe0 0x35 0x9f 147# CHECK: r17 = memub(r21 ++ m1:brev) 1480xf1 0xff 0x35 0x30 149# CHECK: if (p3) r17 = memub(r21+r31<<#3) 1500xf1 0xff 0x35 0x31 151# CHECK: if (!p3) r17 = memub(r21+r31<<#3) 1520x03 0x40 0x45 0x85 0xf1 0xff 0x35 0x32 153# CHECK: p3 = r5 154# CHECK-NEXT: if (p3.new) r17 = memub(r21+r31<<#3) 1550x03 0x40 0x45 0x85 0xf1 0xff 0x35 0x33 156# CHECK: p3 = r5 157# CHECK-NEXT: if (!p3.new) r17 = memub(r21+r31<<#3) 1580xf1 0xdb 0x35 0x41 159# CHECK: if (p3) r17 = memub(r21 + #31) 1600x03 0x40 0x45 0x85 0xf1 0xdb 0x35 0x43 161# CHECK: p3 = r5 162# CHECK-NEXT: if (p3.new) r17 = memub(r21 + #31) 1630xf1 0xdb 0x35 0x45 164# CHECK: if (!p3) r17 = memub(r21 + #31) 1650x03 0x40 0x45 0x85 0xf1 0xdb 0x35 0x47 166# CHECK: p3 = r5 167# CHECK-NEXT: if (!p3.new) r17 = memub(r21 + #31) 1680xb1 0xe6 0x35 0x9b 169# CHECK: if (p3) r17 = memub(r21++#5) 1700xb1 0xee 0x35 0x9b 171# CHECK: if (!p3) r17 = memub(r21++#5) 1720x03 0x40 0x45 0x85 0xb1 0xf6 0x35 0x9b 173# CHECK: p3 = r5 174# CHECK-NEXT: if (p3.new) r17 = memub(r21++#5) 1750x03 0x40 0x45 0x85 0xb1 0xfe 0x35 0x9b 176# CHECK: p3 = r5 177# CHECK-NEXT: if (!p3.new) r17 = memub(r21++#5) 178 1790x91 0xff 0x75 0x3a 180# CHECK: r17 = memuh(r21 + r31<<#3) 1810x51 0xc5 0x60 0x49 182# CHECK: r17 = memuh(##84) 1830xb1 0xc2 0x75 0x91 184# CHECK: r17 = memuh(r21 + #42) 1850xb1 0xe0 0x75 0x99 186# CHECK: r17 = memuh(r21 ++ #10:circ(m1)) 1870x11 0xe2 0x75 0x99 188# CHECK: r17 = memuh(r21 ++ I:circ(m1)) 1890xb1 0xc0 0x75 0x9b 190# CHECK: r17 = memuh(r21++#10) 1910x11 0xe0 0x75 0x9d 192# CHECK: r17 = memuh(r21++m1) 1930x11 0xe0 0x75 0x9f 194# CHECK: r17 = memuh(r21 ++ m1:brev) 1950xf1 0xff 0x75 0x30 196# CHECK: if (p3) r17 = memuh(r21+r31<<#3) 1970xf1 0xff 0x75 0x31 198# CHECK: if (!p3) r17 = memuh(r21+r31<<#3) 1990x03 0x40 0x45 0x85 0xf1 0xff 0x75 0x32 200# CHECK: p3 = r5 201# CHECK-NEXT: if (p3.new) r17 = memuh(r21+r31<<#3) 2020x03 0x40 0x45 0x85 0xf1 0xff 0x75 0x33 203# CHECK: p3 = r5 204# CHECK-NEXT: if (!p3.new) r17 = memuh(r21+r31<<#3) 2050xb1 0xda 0x75 0x41 206# CHECK: if (p3) r17 = memuh(r21 + #42) 2070xb1 0xda 0x75 0x45 208# CHECK: if (!p3) r17 = memuh(r21 + #42) 2090x03 0x40 0x45 0x85 0xb1 0xda 0x75 0x43 210# CHECK: p3 = r5 211# CHECK-NEXT: if (p3.new) r17 = memuh(r21 + #42) 2120x03 0x40 0x45 0x85 0xb1 0xda 0x75 0x47 213# CHECK: p3 = r5 214# CHECK-NEXT: if (!p3.new) r17 = memuh(r21 + #42) 2150xb1 0xe6 0x75 0x9b 216# CHECK: if (p3) r17 = memuh(r21++#10) 2170xb1 0xee 0x75 0x9b 218# CHECK: if (!p3) r17 = memuh(r21++#10) 2190x03 0x40 0x45 0x85 0xb1 0xf6 0x75 0x9b 220# CHECK: p3 = r5 221# CHECK-NEXT: if (p3.new) r17 = memuh(r21++#10) 2220x03 0x40 0x45 0x85 0xb1 0xfe 0x75 0x9b 223# CHECK: p3 = r5 224# CHECK-NEXT: if (!p3.new) r17 = memuh(r21++#10) 225 2260x91 0xff 0x95 0x3a 227# CHECK: r17 = memw(r21 + r31<<#3) 2280x91 0xc2 0x80 0x49 229# CHECK: r17 = memw(##80) 2300xb1 0xc2 0x95 0x91 231# CHECK: r17 = memw(r21 + #84) 2320xb1 0xe0 0x95 0x99 233# CHECK: r17 = memw(r21 ++ #20:circ(m1)) 2340x11 0xe2 0x95 0x99 235# CHECK: r17 = memw(r21 ++ I:circ(m1)) 2360xb1 0xc0 0x95 0x9b 237# CHECK: r17 = memw(r21++#20) 2380x11 0xe0 0x95 0x9d 239# CHECK: r17 = memw(r21++m1) 2400x11 0xe0 0x95 0x9f 241# CHECK: r17 = memw(r21 ++ m1:brev) 2420xf1 0xff 0x95 0x30 243# CHECK: if (p3) r17 = memw(r21+r31<<#3) 2440xf1 0xff 0x95 0x31 245# CHECK: if (!p3) r17 = memw(r21+r31<<#3) 2460x03 0x40 0x45 0x85 0xf1 0xff 0x95 0x32 247# CHECK: p3 = r5 248# CHECK-NEXT: if (p3.new) r17 = memw(r21+r31<<#3) 2490x03 0x40 0x45 0x85 0xf1 0xff 0x95 0x33 250# CHECK: p3 = r5 251# CHECK-NEXT: if (!p3.new) r17 = memw(r21+r31<<#3) 2520xb1 0xda 0x95 0x41 253# CHECK: if (p3) r17 = memw(r21 + #84) 2540xb1 0xda 0x95 0x45 255# CHECK: if (!p3) r17 = memw(r21 + #84) 2560x03 0x40 0x45 0x85 0xb1 0xda 0x95 0x43 257# CHECK: p3 = r5 258# CHECK-NEXT: if (p3.new) r17 = memw(r21 + #84) 2590x03 0x40 0x45 0x85 0xb1 0xda 0x95 0x47 260# CHECK: p3 = r5 261# CHECK-NEXT: if (!p3.new) r17 = memw(r21 + #84) 2620xb1 0xe6 0x95 0x9b 263# CHECK: if (p3) r17 = memw(r21++#20) 2640xb1 0xee 0x95 0x9b 265# CHECK: if (!p3) r17 = memw(r21++#20) 2660x03 0x40 0x45 0x85 0xb1 0xf6 0x95 0x9b 267# CHECK: p3 = r5 268# CHECK-NEXT: if (p3.new) r17 = memw(r21++#20) 2690x03 0x40 0x45 0x85 0xb1 0xfe 0x95 0x9b 270# CHECK: p3 = r5 271# CHECK-NEXT: if (!p3.new) r17 = memw(r21++#20) 272 2730x1e 0xc0 0x1e 0x90 274# CHECK: deallocframe 2750x1e 0xc0 0x1e 0x96 276# CHECK: dealloc_return 2770x03 0x40 0x45 0x85 0x1e 0xcb 0x1e 0x96 278# CHECK: p3 = r5 279# CHECK-NEXT: if (p3.new) dealloc_return:nt 2800x1e 0xd3 0x1e 0x96 281# CHECK: if (p3) dealloc_return 2820x03 0x40 0x45 0x85 0x1e 0xdb 0x1e 0x96 283# CHECK: p3 = r5 284# CHECK-NEXT: if (p3.new) dealloc_return:t 2850x03 0x40 0x45 0x85 0x1e 0xeb 0x1e 0x96 286# CHECK: p3 = r5 287# CHECK-NEXT: if (!p3.new) dealloc_return:nt 2880x1e 0xf3 0x1e 0x96 289# CHECK: if (!p3) dealloc_return 2900x03 0x40 0x45 0x85 0x1e 0xfb 0x1e 0x96 291# CHECK: p3 = r5 292# CHECK-NEXT: if (!p3.new) dealloc_return:t 293