1# RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.1a --disassemble < %s 2>&1 | FileCheck %s 2 3[0x20,0x84,0x02,0x2e] # sqrdmlah v0.8b, v1.8b, v2.8b 4[0x20,0x8c,0x02,0x2e] # sqrdmlsh v0.8b, v1.8b, v2.8b 5[0x20,0x84,0xc2,0x2e] # sqrdmlah v0.1d, v1.1d, v2.1d 6[0x20,0x8c,0xc2,0x2e] # sqrdmlsh v0.1d, v1.1d, v2.1d 7[0x20,0x84,0x02,0x6e] # sqrdmlah v0.16b, v1.16b, v2.16b 8[0x20,0x8c,0x02,0x6e] # sqrdmlsh v0.16b, v1.16b, v2.16b 9[0x20,0x84,0xc2,0x6e] # sqrdmlah v0.2d, v1.2d, v2.2d 10[0x20,0x8c,0xc2,0x6e] # sqrdmlsh v0.2d, v1.2d, v2.2d 11# CHECK: warning: invalid instruction encoding 12# CHECK: [0x20,0x84,0x02,0x2e] 13# CHECK: warning: invalid instruction encoding 14# CHECK: [0x20,0x8c,0x02,0x2e] 15# CHECK: warning: invalid instruction encoding 16# CHECK: [0x20,0x84,0xc2,0x2e] 17# CHECK: warning: invalid instruction encoding 18# CHECK: [0x20,0x8c,0xc2,0x2e] 19# CHECK: warning: invalid instruction encoding 20# CHECK: [0x20,0x84,0x02,0x6e] 21# CHECK: warning: invalid instruction encoding 22# CHECK: [0x20,0x8c,0x02,0x6e] 23# CHECK: warning: invalid instruction encoding 24# CHECK: [0x20,0x84,0xc2,0x6e] 25# CHECK: warning: invalid instruction encoding 26# CHECK: [0x20,0x8c,0xc2,0x6e] 27 28[0x20,0x84,0x02,0x7e] # sqrdmlah b0, b1, b2 29[0x20,0x8c,0x02,0x7e] # sqrdmlsh b0, b1, b2 30[0x20,0x84,0xc2,0x7e] # sqrdmlah d0, d1, d2 31[0x20,0x8c,0xc2,0x7e] # sqrdmlsh d0, d1, d2 32# CHECK: warning: invalid instruction encoding 33# CHECK: [0x20,0x84,0x02,0x7e] 34# CHECK: warning: invalid instruction encoding 35# CHECK: [0x20,0x8c,0x02,0x7e] 36# CHECK: warning: invalid instruction encoding 37# CHECK: [0x20,0x84,0xc2,0x7e] 38# CHECK: warning: invalid instruction encoding 39# CHECK: [0x20,0x8c,0xc2,0x7e] 40 41[0x20,0xd0,0x32,0x2f] # sqrdmlah v0.8b, v1.8b, v2.b[3] 42[0x20,0xf0,0x32,0x2f] # sqrdmlsh v0.8b, v1.8b, v2.b[3] 43[0x20,0xd0,0xe2,0x2f] # sqrdmlah v0.1d, v1.1d, v2.d[1] 44[0x20,0xf0,0xe2,0x2f] # sqrdmlsh v0.1d, v1.1d, v2.d[1] 45[0x20,0xd0,0x32,0x6f] # sqrdmlah v0.16b, v1.16b, v2.b[3] 46[0x20,0xf0,0x32,0x6f] # sqrdmlsh v0.16b, v1.16b, v2.b[3] 47[0x20,0xd8,0xe2,0x6f] # sqrdmlah v0.2d, v1.2d, v2.d[3] 48[0x20,0xf8,0xe2,0x6f] # sqrdmlsh v0.2d, v1.2d, v2.d[3] 49# CHECK: warning: invalid instruction encoding 50# CHECK: [0x20,0xd0,0x32,0x2f] 51# CHECK: warning: invalid instruction encoding 52# CHECK: [0x20,0xf0,0x32,0x2f] 53# CHECK: warning: invalid instruction encoding 54# CHECK: [0x20,0xd0,0xe2,0x2f] 55# CHECK: warning: invalid instruction encoding 56# CHECK: [0x20,0xf0,0xe2,0x2f] 57# CHECK: warning: invalid instruction encoding 58# CHECK: [0x20,0xd0,0x32,0x6f] 59# CHECK: warning: invalid instruction encoding 60# CHECK: [0x20,0xf0,0x32,0x6f] 61# CHECK: warning: invalid instruction encoding 62# CHECK: [0x20,0xd8,0xe2,0x6f] 63# CHECK: warning: invalid instruction encoding 64# CHECK: [0x20,0xf8,0xe2,0x6f] 65 66[0x20,0xd0,0x32,0x7f] # sqrdmlah b0, b1, v2.b[3] 67[0x20,0xf0,0x32,0x7f] # sqrdmlsh b0, b1, v2.b[3] 68[0x20,0xd8,0xe2,0x7f] # sqrdmlah d0, d1, v2.d[3] 69[0x20,0xf8,0xe2,0x7f] # sqrdmlsh d0, d1, v2.d[3] 70# CHECK: warning: invalid instruction encoding 71# CHECK: [0x20,0xd0,0x32,0x7f] 72# CHECK: warning: invalid instruction encoding 73# CHECK: [0x20,0xf0,0x32,0x7f] 74# CHECK: warning: invalid instruction encoding 75# CHECK: [0x20,0xd8,0xe2,0x7f] 76# CHECK: warning: invalid instruction encoding 77# CHECK: [0x20,0xf8,0xe2,0x7f] 78 79[0x20,0x84,0x42,0x2e] 80[0x20,0x8c,0x42,0x2e] 81[0x20,0x84,0x82,0x2e] 82[0x20,0x8c,0x82,0x2e] 83[0x20,0x84,0x42,0x6e] 84[0x20,0x8c,0x42,0x6e] 85[0x20,0x84,0x82,0x6e] 86[0x20,0x8c,0x82,0x6e] 87# CHECK: sqrdmlah v0.4h, v1.4h, v2.4h 88# CHECK: sqrdmlsh v0.4h, v1.4h, v2.4h 89# CHECK: sqrdmlah v0.2s, v1.2s, v2.2s 90# CHECK: sqrdmlsh v0.2s, v1.2s, v2.2s 91# CHECK: sqrdmlah v0.8h, v1.8h, v2.8h 92# CHECK: sqrdmlsh v0.8h, v1.8h, v2.8h 93# CHECK: sqrdmlah v0.4s, v1.4s, v2.4s 94# CHECK: sqrdmlsh v0.4s, v1.4s, v2.4s 95 96[0x20,0x84,0x42,0x7e] 97[0x20,0x8c,0x42,0x7e] 98[0x20,0x84,0x82,0x7e] 99[0x20,0x8c,0x82,0x7e] 100# CHECK: sqrdmlah h0, h1, h2 101# CHECK: sqrdmlsh h0, h1, h2 102# CHECK: sqrdmlah s0, s1, s2 103# CHECK: sqrdmlsh s0, s1, s2 104 1050x20,0xd0,0x72,0x2f 1060x20,0xf0,0x72,0x2f 1070x20,0xd0,0xa2,0x2f 1080x20,0xf0,0xa2,0x2f 1090x20,0xd0,0x72,0x6f 1100x20,0xf0,0x72,0x6f 1110x20,0xd8,0xa2,0x6f 1120x20,0xf8,0xa2,0x6f 113# CHECK: sqrdmlah v0.4h, v1.4h, v2.h[3] 114# CHECK: sqrdmlsh v0.4h, v1.4h, v2.h[3] 115# CHECK: sqrdmlah v0.2s, v1.2s, v2.s[1] 116# CHECK: sqrdmlsh v0.2s, v1.2s, v2.s[1] 117# CHECK: sqrdmlah v0.8h, v1.8h, v2.h[3] 118# CHECK: sqrdmlsh v0.8h, v1.8h, v2.h[3] 119# CHECK: sqrdmlah v0.4s, v1.4s, v2.s[3] 120# CHECK: sqrdmlsh v0.4s, v1.4s, v2.s[3] 121 1220x20,0xd0,0x72,0x7f 1230x20,0xf0,0x72,0x7f 1240x20,0xd8,0xa2,0x7f 1250x20,0xf8,0xa2,0x7f 126# CHECK: sqrdmlah h0, h1, v2.h[3] 127# CHECK: sqrdmlsh h0, h1, v2.h[3] 128# CHECK: sqrdmlah s0, s1, v2.s[3] 129# CHECK: sqrdmlsh s0, s1, v2.s[3] 130