311 lines · plain
1# RUN: llvm-mc -triple=xtensa -mattr=+mac16 -disassemble %s | FileCheck -check-prefixes=CHECK-MAC16 %s2# RUN: not llvm-mc -triple=xtensa -disassemble %s 2>&1 | FileCheck --implicit-check-not=warning: -check-prefixes=CHECK-CORE %s3 4## Verify that binary code is correctly disassembled with5## mac16 option enabled. Also verify that dissasembling without6## mac16 option generates warnings.7 8[0x34,0x02,0x70]9# CHECK-MAC16: umul.aa.ll a2, a310# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding11 12[0x34,0x02,0x72]13# CHECK-MAC16: umul.aa.lh a2, a314# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding15 16[0x34,0x02,0x71]17# CHECK-MAC16: umul.aa.hl a2, a318# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding19 20[0x34,0x02,0x73]21# CHECK-MAC16: umul.aa.hh a2, a322# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding23 24[0x34,0x02,0x74]25# CHECK-MAC16: mul.aa.ll a2, a326# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding27 28[0x34,0x02,0x76]29# CHECK-MAC16: mul.aa.lh a2, a330# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding31 32[0x34,0x02,0x75]33# CHECK-MAC16: mul.aa.hl a2, a334# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding35 36[0x34,0x02,0x77]37# CHECK-MAC16: mul.aa.hh a2, a338# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding39 40[0x04,0x02,0x34]41# CHECK-MAC16: mul.ad.ll a2, m242# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding43 44[0x04,0x02,0x36]45# CHECK-MAC16: mul.ad.lh a2, m246# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding47 48[0x04,0x02,0x35]49# CHECK-MAC16: mul.ad.hl a2, m250# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding51 52[0x04,0x02,0x37]53# CHECK-MAC16: mul.ad.hh a2, m254# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding55 56[0x34,0x40,0x64]57# CHECK-MAC16: mul.da.ll m1, a358# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding59 60[0x34,0x40,0x66]61# CHECK-MAC16: mul.da.lh m1, a362# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding63 64[0x34,0x40,0x65]65# CHECK-MAC16: mul.da.hl m1, a366# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding67 68[0x34,0x40,0x67]69# CHECK-MAC16: mul.da.hh m1, a370# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding71 72[0x04,0x40,0x24]73# CHECK-MAC16: mul.dd.ll m1, m274# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding75 76[0x04,0x40,0x26]77# CHECK-MAC16: mul.dd.lh m1, m278# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding79 80[0x04,0x40,0x25]81# CHECK-MAC16: mul.dd.hl m1, m282# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding83 84[0x04,0x40,0x27]85# CHECK-MAC16: mul.dd.hh m1, m286# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding87 88[0x34,0x02,0x78]89# CHECK-MAC16: mula.aa.ll a2, a390# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding91 92[0x34,0x02,0x7a]93# CHECK-MAC16: mula.aa.lh a2, a394# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding95 96[0x34,0x02,0x79]97# CHECK-MAC16: mula.aa.hl a2, a398# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding99 100[0x34,0x02,0x7b]101# CHECK-MAC16: mula.aa.hh a2, a3102# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding103 104[0x04,0x02,0x38]105# CHECK-MAC16: mula.ad.ll a2, m2106# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding107 108[0x04,0x02,0x3a]109# CHECK-MAC16: mula.ad.lh a2, m2110# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding111 112[0x04,0x02,0x39]113# CHECK-MAC16: mula.ad.hl a2, m2114# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding115 116[0x04,0x02,0x3b]117# CHECK-MAC16: mula.ad.hh a2, m2118# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding119 120[0x34,0x40,0x68]121# CHECK-MAC16: mula.da.ll m1, a3122# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding123 124[0x34,0x40,0x6a]125# CHECK-MAC16: mula.da.lh m1, a3126# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding127 128[0x34,0x40,0x69]129# CHECK-MAC16: mula.da.hl m1, a3130# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding131 132[0x34,0x40,0x6b]133# CHECK-MAC16: mula.da.hh m1, a3134# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding135 136[0x04,0x40,0x28]137# CHECK-MAC16: mula.dd.ll m1, m2138# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding139 140[0x04,0x40,0x2a]141# CHECK-MAC16: mula.dd.lh m1, m2142# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding143 144[0x04,0x40,0x29]145# CHECK-MAC16: mula.dd.hl m1, m2146# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding147 148[0x04,0x40,0x2b]149# CHECK-MAC16: mula.dd.hh m1, m2150# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding151 152[0x34,0x02,0x7c]153# CHECK-MAC16: muls.aa.ll a2, a3154# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding155 156[0x34,0x02,0x7e]157# CHECK-MAC16: muls.aa.lh a2, a3158# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding159 160[0x34,0x02,0x7d]161# CHECK-MAC16: muls.aa.hl a2, a3162# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding163 164[0x34,0x02,0x7f]165# CHECK-MAC16: muls.aa.hh a2, a3166# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding167 168[0x04,0x02,0x3c]169# CHECK-MAC16: muls.ad.ll a2, m2170# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding171 172[0x04,0x02,0x3e]173# CHECK-MAC16: muls.ad.lh a2, m2174# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding175 176[0x04,0x02,0x3d]177# CHECK-MAC16: muls.ad.hl a2, m2178# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding179 180[0x04,0x02,0x3f]181# CHECK-MAC16: muls.ad.hh a2, m2182# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding183 184[0x34,0x40,0x6c]185# CHECK-MAC16: muls.da.ll m1, a3186# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding187 188[0x34,0x40,0x6e]189# CHECK-MAC16: muls.da.lh m1, a3190# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding191 192[0x34,0x40,0x6d]193# CHECK-MAC16: muls.da.hl m1, a3194# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding195 196[0x34,0x40,0x6f]197# CHECK-MAC16: muls.da.hh m1, a3198# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding199 200[0x04,0x40,0x2c]201# CHECK-MAC16: muls.dd.ll m1, m2202# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding203 204[0x04,0x40,0x2e]205# CHECK-MAC16: muls.dd.lh m1, m2206# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding207 208[0x04,0x40,0x2d]209# CHECK-MAC16: muls.dd.hl m1, m2210# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding211 212[0x04,0x40,0x2f]213# CHECK-MAC16: muls.dd.hh m1, m2214# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding215 216[0x34,0x18,0x58]217# CHECK-MAC16: mula.da.ll.lddec m1, a8, m0, a3218# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding219 220[0x34,0x18,0x59]221# CHECK-MAC16: mula.da.hl.lddec m1, a8, m0, a3222# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding223 224[0x34,0x18,0x5a]225# CHECK-MAC16: mula.da.lh.lddec m1, a8, m0, a3226# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding227 228[0x34,0x18,0x5b]229# CHECK-MAC16: mula.da.hh.lddec m1, a8, m0, a3230# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding231 232[0x04,0x18,0x18]233# CHECK-MAC16: mula.dd.ll.lddec m1, a8, m0, m2234# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding235 236[0x04,0x18,0x19]237# CHECK-MAC16: mula.dd.hl.lddec m1, a8, m0, m2238# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding239 240[0x04,0x18,0x1a]241# CHECK-MAC16: mula.dd.lh.lddec m1, a8, m0, m2242# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding243 244[0x04,0x18,0x1b]245# CHECK-MAC16: mula.dd.hh.lddec m1, a8, m0, m2246# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding247 248[0x34,0x18,0x48]249# CHECK-MAC16: mula.da.ll.ldinc m1, a8, m0, a3250# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding251 252[0x34,0x18,0x49]253# CHECK-MAC16: mula.da.hl.ldinc m1, a8, m0, a3254# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding255 256[0x34,0x18,0x4a]257# CHECK-MAC16: mula.da.lh.ldinc m1, a8, m0, a3258# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding259 260[0x34,0x18,0x4b]261# CHECK-MAC16: mula.da.hh.ldinc m1, a8, m0, a3262# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding263 264[0x04,0x18,0x08]265# CHECK-MAC16: mula.dd.ll.ldinc m1, a8, m0, m2266# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding267 268[0x04,0x18,0x09]269# CHECK-MAC16: mula.dd.hl.ldinc m1, a8, m0, m2270# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding271 272[0x04,0x18,0x0a]273# CHECK-MAC16: mula.dd.lh.ldinc m1, a8, m0, m2274# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding275 276[0x04,0x18,0x0b]277# CHECK-MAC16: mula.dd.hh.ldinc m1, a8, m0, m2278# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding279 280[0x04,0x08,0x90]281# CHECK-MAC16: lddec m0, a8282# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding283 284[0x04,0x08,0x80]285# CHECK-MAC16: ldinc m0, a8286# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding287 288[0x30,0x10,0x61]289# CHECK-MAC16: xsr a3, acclo290# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding291 292[0x30,0x11,0x61]293# CHECK-MAC16: xsr a3, acchi294# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding295 296[0x30,0x20,0x61]297# CHECK-MAC16: xsr a3, m0298# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding299 300[0x30,0x21,0x61]301# CHECK-MAC16: xsr a3, m1302# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding303 304[0x30,0x22,0x61]305# CHECK-MAC16: xsr a3, m2306# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding307 308[0x30,0x23,0x61]309# CHECK-MAC16: xsr a3, m3310# CHECK-CORE: [[#@LINE-2]]:2: warning: invalid instruction encoding311