1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple=arm64 -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker// Check that the assembler can handle the documented syntax for AArch64 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 6*9880d681SAndroid Build Coastguard Worker// Instructions with 2 vectors and an element 7*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker mla v0.2s, v1.2s, v2.s[2] 10*9880d681SAndroid Build Coastguard Worker mla v0.2s, v1.2s, v22.s[2] 11*9880d681SAndroid Build Coastguard Worker mla v3.4s, v8.4s, v2.s[1] 12*9880d681SAndroid Build Coastguard Worker mla v3.4s, v8.4s, v22.s[3] 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker// CHECK: mla v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0x08,0x82,0x2f] 15*9880d681SAndroid Build Coastguard Worker// CHECK: mla v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0x08,0x96,0x2f] 16*9880d681SAndroid Build Coastguard Worker// CHECK: mla v3.4s, v8.4s, v2.s[1] // encoding: [0x03,0x01,0xa2,0x6f] 17*9880d681SAndroid Build Coastguard Worker// CHECK: mla v3.4s, v8.4s, v22.s[3] // encoding: [0x03,0x09,0xb6,0x6f] 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker mla v0.4h, v1.4h, v2.h[2] 20*9880d681SAndroid Build Coastguard Worker mla v0.4h, v1.4h, v15.h[2] 21*9880d681SAndroid Build Coastguard Worker mla v0.8h, v1.8h, v2.h[7] 22*9880d681SAndroid Build Coastguard Worker mla v0.8h, v1.8h, v14.h[6] 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Worker// CHECK: mla v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0x00,0x62,0x2f] 25*9880d681SAndroid Build Coastguard Worker// CHECK: mla v0.4h, v1.4h, v15.h[2] // encoding: [0x20,0x00,0x6f,0x2f] 26*9880d681SAndroid Build Coastguard Worker// CHECK: mla v0.8h, v1.8h, v2.h[7] // encoding: [0x20,0x08,0x72,0x6f] 27*9880d681SAndroid Build Coastguard Worker// CHECK: mla v0.8h, v1.8h, v14.h[6] // encoding: [0x20,0x08,0x6e,0x6f] 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker mls v0.2s, v1.2s, v2.s[2] 30*9880d681SAndroid Build Coastguard Worker mls v0.2s, v1.2s, v22.s[2] 31*9880d681SAndroid Build Coastguard Worker mls v3.4s, v8.4s, v2.s[1] 32*9880d681SAndroid Build Coastguard Worker mls v3.4s, v8.4s, v22.s[3] 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Worker// CHECK: mls v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0x48,0x82,0x2f] 35*9880d681SAndroid Build Coastguard Worker// CHECK: mls v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0x48,0x96,0x2f] 36*9880d681SAndroid Build Coastguard Worker// CHECK: mls v3.4s, v8.4s, v2.s[1] // encoding: [0x03,0x41,0xa2,0x6f] 37*9880d681SAndroid Build Coastguard Worker// CHECK: mls v3.4s, v8.4s, v22.s[3] // encoding: [0x03,0x49,0xb6,0x6f] 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Worker mls v0.4h, v1.4h, v2.h[2] 40*9880d681SAndroid Build Coastguard Worker mls v0.4h, v1.4h, v15.h[2] 41*9880d681SAndroid Build Coastguard Worker mls v0.8h, v1.8h, v2.h[7] 42*9880d681SAndroid Build Coastguard Worker mls v0.8h, v1.8h, v14.h[6] 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker// CHECK: mls v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0x40,0x62,0x2f] 45*9880d681SAndroid Build Coastguard Worker// CHECK: mls v0.4h, v1.4h, v15.h[2] // encoding: [0x20,0x40,0x6f,0x2f] 46*9880d681SAndroid Build Coastguard Worker// CHECK: mls v0.8h, v1.8h, v2.h[7] // encoding: [0x20,0x48,0x72,0x6f] 47*9880d681SAndroid Build Coastguard Worker// CHECK: mls v0.8h, v1.8h, v14.h[6] // encoding: [0x20,0x48,0x6e,0x6f] 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Worker fmla v0.4h, v1.4h, v2.h[2] 50*9880d681SAndroid Build Coastguard Worker fmla v3.8h, v8.8h, v2.h[1] 51*9880d681SAndroid Build Coastguard Worker fmla v0.2s, v1.2s, v2.s[2] 52*9880d681SAndroid Build Coastguard Worker fmla v0.2s, v1.2s, v22.s[2] 53*9880d681SAndroid Build Coastguard Worker fmla v3.4s, v8.4s, v2.s[1] 54*9880d681SAndroid Build Coastguard Worker fmla v3.4s, v8.4s, v22.s[3] 55*9880d681SAndroid Build Coastguard Worker fmla v0.2d, v1.2d, v2.d[1] 56*9880d681SAndroid Build Coastguard Worker fmla v0.2d, v1.2d, v22.d[1] 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0x10,0x22,0x0f] 59*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v3.8h, v8.8h, v2.h[1] // encoding: [0x03,0x11,0x12,0x4f] 60*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0x18,0x82,0x0f] 61*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0x18,0x96,0x0f] 62*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v3.4s, v8.4s, v2.s[1] // encoding: [0x03,0x11,0xa2,0x4f] 63*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v3.4s, v8.4s, v22.s[3] // encoding: [0x03,0x19,0xb6,0x4f] 64*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v0.2d, v1.2d, v2.d[1] // encoding: [0x20,0x18,0xc2,0x4f] 65*9880d681SAndroid Build Coastguard Worker// CHECK: fmla v0.2d, v1.2d, v22.d[1] // encoding: [0x20,0x18,0xd6,0x4f] 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker fmls v0.4h, v1.4h, v2.h[2] 68*9880d681SAndroid Build Coastguard Worker fmls v3.8h, v8.8h, v2.h[1] 69*9880d681SAndroid Build Coastguard Worker fmls v0.2s, v1.2s, v2.s[2] 70*9880d681SAndroid Build Coastguard Worker fmls v0.2s, v1.2s, v22.s[2] 71*9880d681SAndroid Build Coastguard Worker fmls v3.4s, v8.4s, v2.s[1] 72*9880d681SAndroid Build Coastguard Worker fmls v3.4s, v8.4s, v22.s[3] 73*9880d681SAndroid Build Coastguard Worker fmls v0.2d, v1.2d, v2.d[1] 74*9880d681SAndroid Build Coastguard Worker fmls v0.2d, v1.2d, v22.d[1] 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0x50,0x22,0x0f] 77*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v3.8h, v8.8h, v2.h[1] // encoding: [0x03,0x51,0x12,0x4f] 78*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0x58,0x82,0x0f] 79*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0x58,0x96,0x0f] 80*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v3.4s, v8.4s, v2.s[1] // encoding: [0x03,0x51,0xa2,0x4f] 81*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v3.4s, v8.4s, v22.s[3] // encoding: [0x03,0x59,0xb6,0x4f] 82*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v0.2d, v1.2d, v2.d[1] // encoding: [0x20,0x58,0xc2,0x4f] 83*9880d681SAndroid Build Coastguard Worker// CHECK: fmls v0.2d, v1.2d, v22.d[1] // encoding: [0x20,0x58,0xd6,0x4f] 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Worker smlal v0.4s, v1.4h, v2.h[2] 86*9880d681SAndroid Build Coastguard Worker smlal v0.2d, v1.2s, v2.s[2] 87*9880d681SAndroid Build Coastguard Worker smlal v0.2d, v1.2s, v22.s[2] 88*9880d681SAndroid Build Coastguard Worker smlal2 v0.4s, v1.8h, v1.h[2] 89*9880d681SAndroid Build Coastguard Worker smlal2 v0.2d, v1.4s, v1.s[2] 90*9880d681SAndroid Build Coastguard Worker smlal2 v0.2d, v1.4s, v22.s[2] 91*9880d681SAndroid Build Coastguard Worker 92*9880d681SAndroid Build Coastguard Worker// CHECK: smlal v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0x20,0x62,0x0f] 93*9880d681SAndroid Build Coastguard Worker// CHECK: smlal v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0x28,0x82,0x0f] 94*9880d681SAndroid Build Coastguard Worker// CHECK: smlal v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0x28,0x96,0x0f] 95*9880d681SAndroid Build Coastguard Worker// CHECK: smlal2 v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x20,0x61,0x4f] 96*9880d681SAndroid Build Coastguard Worker// CHECK: smlal2 v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x28,0x81,0x4f] 97*9880d681SAndroid Build Coastguard Worker// CHECK: smlal2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x28,0x96,0x4f] 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker smlsl v0.4s, v1.4h, v2.h[2] 100*9880d681SAndroid Build Coastguard Worker smlsl v0.2d, v1.2s, v2.s[2] 101*9880d681SAndroid Build Coastguard Worker smlsl v0.2d, v1.2s, v22.s[2] 102*9880d681SAndroid Build Coastguard Worker smlsl2 v0.4s, v1.8h, v1.h[2] 103*9880d681SAndroid Build Coastguard Worker smlsl2 v0.2d, v1.4s, v1.s[2] 104*9880d681SAndroid Build Coastguard Worker smlsl2 v0.2d, v1.4s, v22.s[2] 105*9880d681SAndroid Build Coastguard Worker 106*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0x60,0x62,0x0f] 107*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0x68,0x82,0x0f] 108*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0x68,0x96,0x0f] 109*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl2 v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x60,0x61,0x4f] 110*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl2 v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x68,0x81,0x4f] 111*9880d681SAndroid Build Coastguard Worker// CHECK: smlsl2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x68,0x96,0x4f] 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Worker sqdmlal v0.4s, v1.4h, v2.h[2] 114*9880d681SAndroid Build Coastguard Worker sqdmlal v0.2d, v1.2s, v2.s[2] 115*9880d681SAndroid Build Coastguard Worker sqdmlal v0.2d, v1.2s, v22.s[2] 116*9880d681SAndroid Build Coastguard Worker sqdmlal2 v0.4s, v1.8h, v1.h[2] 117*9880d681SAndroid Build Coastguard Worker sqdmlal2 v0.2d, v1.4s, v1.s[2] 118*9880d681SAndroid Build Coastguard Worker sqdmlal2 v0.2d, v1.4s, v22.s[2] 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0x30,0x62,0x0f] 121*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0x38,0x82,0x0f] 122*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0x38,0x96,0x0f] 123*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal2 v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x30,0x61,0x4f] 124*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal2 v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x38,0x81,0x4f] 125*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlal2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x38,0x96,0x4f] 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker umlal v0.4s, v1.4h, v2.h[2] 128*9880d681SAndroid Build Coastguard Worker umlal v0.2d, v1.2s, v2.s[2] 129*9880d681SAndroid Build Coastguard Worker umlal v0.2d, v1.2s, v22.s[2] 130*9880d681SAndroid Build Coastguard Worker umlal2 v0.4s, v1.8h, v1.h[2] 131*9880d681SAndroid Build Coastguard Worker umlal2 v0.2d, v1.4s, v1.s[2] 132*9880d681SAndroid Build Coastguard Worker umlal2 v0.2d, v1.4s, v22.s[2] 133*9880d681SAndroid Build Coastguard Worker 134*9880d681SAndroid Build Coastguard Worker// CHECK: umlal v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0x20,0x62,0x2f] 135*9880d681SAndroid Build Coastguard Worker// CHECK: umlal v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0x28,0x82,0x2f] 136*9880d681SAndroid Build Coastguard Worker// CHECK: umlal v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0x28,0x96,0x2f] 137*9880d681SAndroid Build Coastguard Worker// CHECK: umlal2 v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x20,0x61,0x6f] 138*9880d681SAndroid Build Coastguard Worker// CHECK: umlal2 v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x28,0x81,0x6f] 139*9880d681SAndroid Build Coastguard Worker// CHECK: umlal2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x28,0x96,0x6f] 140*9880d681SAndroid Build Coastguard Worker 141*9880d681SAndroid Build Coastguard Worker umlsl v0.4s, v1.4h, v2.h[2] 142*9880d681SAndroid Build Coastguard Worker umlsl v0.2d, v1.2s, v2.s[2] 143*9880d681SAndroid Build Coastguard Worker umlsl v0.2d, v1.2s, v22.s[2] 144*9880d681SAndroid Build Coastguard Worker umlsl2 v0.4s, v1.8h, v1.h[2] 145*9880d681SAndroid Build Coastguard Worker umlsl2 v0.2d, v1.4s, v1.s[2] 146*9880d681SAndroid Build Coastguard Worker umlsl2 v0.2d, v1.4s, v22.s[2] 147*9880d681SAndroid Build Coastguard Worker 148*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0x60,0x62,0x2f] 149*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0x68,0x82,0x2f] 150*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0x68,0x96,0x2f] 151*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl2 v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x60,0x61,0x6f] 152*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl2 v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x68,0x81,0x6f] 153*9880d681SAndroid Build Coastguard Worker// CHECK: umlsl2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x68,0x96,0x6f] 154*9880d681SAndroid Build Coastguard Worker 155*9880d681SAndroid Build Coastguard Worker sqdmlsl v0.4s, v1.4h, v2.h[2] 156*9880d681SAndroid Build Coastguard Worker sqdmlsl v0.2d, v1.2s, v2.s[2] 157*9880d681SAndroid Build Coastguard Worker sqdmlsl v0.2d, v1.2s, v22.s[2] 158*9880d681SAndroid Build Coastguard Worker sqdmlsl2 v0.4s, v1.8h, v1.h[2] 159*9880d681SAndroid Build Coastguard Worker sqdmlsl2 v0.2d, v1.4s, v1.s[2] 160*9880d681SAndroid Build Coastguard Worker sqdmlsl2 v0.2d, v1.4s, v22.s[2] 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0x70,0x62,0x0f] 163*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0x78,0x82,0x0f] 164*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0x78,0x96,0x0f] 165*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl2 v0.4s, v1.8h, v1.h[2] // encoding: [0x20,0x70,0x61,0x4f] 166*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl2 v0.2d, v1.4s, v1.s[2] // encoding: [0x20,0x78,0x81,0x4f] 167*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmlsl2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0x78,0x96,0x4f] 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Worker mul v0.4h, v1.4h, v2.h[2] 170*9880d681SAndroid Build Coastguard Worker mul v0.8h, v1.8h, v2.h[2] 171*9880d681SAndroid Build Coastguard Worker mul v0.2s, v1.2s, v2.s[2] 172*9880d681SAndroid Build Coastguard Worker mul v0.2s, v1.2s, v22.s[2] 173*9880d681SAndroid Build Coastguard Worker mul v0.4s, v1.4s, v2.s[2] 174*9880d681SAndroid Build Coastguard Worker mul v0.4s, v1.4s, v22.s[2] 175*9880d681SAndroid Build Coastguard Worker 176*9880d681SAndroid Build Coastguard Worker// CHECK: mul v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0x80,0x62,0x0f] 177*9880d681SAndroid Build Coastguard Worker// CHECK: mul v0.8h, v1.8h, v2.h[2] // encoding: [0x20,0x80,0x62,0x4f] 178*9880d681SAndroid Build Coastguard Worker// CHECK: mul v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0x88,0x82,0x0f] 179*9880d681SAndroid Build Coastguard Worker// CHECK: mul v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0x88,0x96,0x0f] 180*9880d681SAndroid Build Coastguard Worker// CHECK: mul v0.4s, v1.4s, v2.s[2] // encoding: [0x20,0x88,0x82,0x4f] 181*9880d681SAndroid Build Coastguard Worker// CHECK: mul v0.4s, v1.4s, v22.s[2] // encoding: [0x20,0x88,0x96,0x4f] 182*9880d681SAndroid Build Coastguard Worker 183*9880d681SAndroid Build Coastguard Worker fmul v0.4h, v1.4h, v2.h[2] 184*9880d681SAndroid Build Coastguard Worker fmul v0.8h, v1.8h, v2.h[2] 185*9880d681SAndroid Build Coastguard Worker fmul v0.2s, v1.2s, v2.s[2] 186*9880d681SAndroid Build Coastguard Worker fmul v0.2s, v1.2s, v22.s[2] 187*9880d681SAndroid Build Coastguard Worker fmul v0.4s, v1.4s, v2.s[2] 188*9880d681SAndroid Build Coastguard Worker fmul v0.4s, v1.4s, v22.s[2] 189*9880d681SAndroid Build Coastguard Worker fmul v0.2d, v1.2d, v2.d[1] 190*9880d681SAndroid Build Coastguard Worker fmul v0.2d, v1.2d, v22.d[1] 191*9880d681SAndroid Build Coastguard Worker 192*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0x90,0x22,0x0f] 193*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.8h, v1.8h, v2.h[2] // encoding: [0x20,0x90,0x22,0x4f] 194*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0x98,0x82,0x0f] 195*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0x98,0x96,0x0f] 196*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.4s, v1.4s, v2.s[2] // encoding: [0x20,0x98,0x82,0x4f] 197*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.4s, v1.4s, v22.s[2] // encoding: [0x20,0x98,0x96,0x4f] 198*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.2d, v1.2d, v2.d[1] // encoding: [0x20,0x98,0xc2,0x4f] 199*9880d681SAndroid Build Coastguard Worker// CHECK: fmul v0.2d, v1.2d, v22.d[1] // encoding: [0x20,0x98,0xd6,0x4f] 200*9880d681SAndroid Build Coastguard Worker 201*9880d681SAndroid Build Coastguard Worker fmulx v0.4h, v1.4h, v2.h[2] 202*9880d681SAndroid Build Coastguard Worker fmulx v0.8h, v1.8h, v2.h[2] 203*9880d681SAndroid Build Coastguard Worker fmulx v0.2s, v1.2s, v2.s[2] 204*9880d681SAndroid Build Coastguard Worker fmulx v0.2s, v1.2s, v22.s[2] 205*9880d681SAndroid Build Coastguard Worker fmulx v0.4s, v1.4s, v2.s[2] 206*9880d681SAndroid Build Coastguard Worker fmulx v0.4s, v1.4s, v22.s[2] 207*9880d681SAndroid Build Coastguard Worker fmulx v0.2d, v1.2d, v2.d[1] 208*9880d681SAndroid Build Coastguard Worker fmulx v0.2d, v1.2d, v22.d[1] 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0x90,0x22,0x2f] 211*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.8h, v1.8h, v2.h[2] // encoding: [0x20,0x90,0x22,0x6f] 212*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0x98,0x82,0x2f] 213*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0x98,0x96,0x2f] 214*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.4s, v1.4s, v2.s[2] // encoding: [0x20,0x98,0x82,0x6f] 215*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.4s, v1.4s, v22.s[2] // encoding: [0x20,0x98,0x96,0x6f] 216*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.2d, v1.2d, v2.d[1] // encoding: [0x20,0x98,0xc2,0x6f] 217*9880d681SAndroid Build Coastguard Worker// CHECK: fmulx v0.2d, v1.2d, v22.d[1] // encoding: [0x20,0x98,0xd6,0x6f] 218*9880d681SAndroid Build Coastguard Worker 219*9880d681SAndroid Build Coastguard Worker smull v0.4s, v1.4h, v2.h[2] 220*9880d681SAndroid Build Coastguard Worker smull v0.2d, v1.2s, v2.s[2] 221*9880d681SAndroid Build Coastguard Worker smull v0.2d, v1.2s, v22.s[2] 222*9880d681SAndroid Build Coastguard Worker smull2 v0.4s, v1.8h, v2.h[2] 223*9880d681SAndroid Build Coastguard Worker smull2 v0.2d, v1.4s, v2.s[2] 224*9880d681SAndroid Build Coastguard Worker smull2 v0.2d, v1.4s, v22.s[2] 225*9880d681SAndroid Build Coastguard Worker 226*9880d681SAndroid Build Coastguard Worker// CHECK: smull v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0xa0,0x62,0x0f] 227*9880d681SAndroid Build Coastguard Worker// CHECK: smull v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0xa8,0x82,0x0f] 228*9880d681SAndroid Build Coastguard Worker// CHECK: smull v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0xa8,0x96,0x0f] 229*9880d681SAndroid Build Coastguard Worker// CHECK: smull2 v0.4s, v1.8h, v2.h[2] // encoding: [0x20,0xa0,0x62,0x4f] 230*9880d681SAndroid Build Coastguard Worker// CHECK: smull2 v0.2d, v1.4s, v2.s[2] // encoding: [0x20,0xa8,0x82,0x4f] 231*9880d681SAndroid Build Coastguard Worker// CHECK: smull2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0xa8,0x96,0x4f] 232*9880d681SAndroid Build Coastguard Worker 233*9880d681SAndroid Build Coastguard Worker umull v0.4s, v1.4h, v2.h[2] 234*9880d681SAndroid Build Coastguard Worker umull v0.2d, v1.2s, v2.s[2] 235*9880d681SAndroid Build Coastguard Worker umull v0.2d, v1.2s, v22.s[2] 236*9880d681SAndroid Build Coastguard Worker umull2 v0.4s, v1.8h, v2.h[2] 237*9880d681SAndroid Build Coastguard Worker umull2 v0.2d, v1.4s, v2.s[2] 238*9880d681SAndroid Build Coastguard Worker umull2 v0.2d, v1.4s, v22.s[2] 239*9880d681SAndroid Build Coastguard Worker 240*9880d681SAndroid Build Coastguard Worker// CHECK: umull v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0xa0,0x62,0x2f] 241*9880d681SAndroid Build Coastguard Worker// CHECK: umull v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0xa8,0x82,0x2f] 242*9880d681SAndroid Build Coastguard Worker// CHECK: umull v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0xa8,0x96,0x2f] 243*9880d681SAndroid Build Coastguard Worker// CHECK: umull2 v0.4s, v1.8h, v2.h[2] // encoding: [0x20,0xa0,0x62,0x6f] 244*9880d681SAndroid Build Coastguard Worker// CHECK: umull2 v0.2d, v1.4s, v2.s[2] // encoding: [0x20,0xa8,0x82,0x6f] 245*9880d681SAndroid Build Coastguard Worker// CHECK: umull2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0xa8,0x96,0x6f] 246*9880d681SAndroid Build Coastguard Worker 247*9880d681SAndroid Build Coastguard Worker sqdmull v0.4s, v1.4h, v2.h[2] 248*9880d681SAndroid Build Coastguard Worker sqdmull v0.2d, v1.2s, v2.s[2] 249*9880d681SAndroid Build Coastguard Worker sqdmull v0.2d, v1.2s, v22.s[2] 250*9880d681SAndroid Build Coastguard Worker sqdmull2 v0.4s, v1.8h, v2.h[2] 251*9880d681SAndroid Build Coastguard Worker sqdmull2 v0.2d, v1.4s, v2.s[2] 252*9880d681SAndroid Build Coastguard Worker sqdmull2 v0.2d, v1.4s, v22.s[2] 253*9880d681SAndroid Build Coastguard Worker 254*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull v0.4s, v1.4h, v2.h[2] // encoding: [0x20,0xb0,0x62,0x0f] 255*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull v0.2d, v1.2s, v2.s[2] // encoding: [0x20,0xb8,0x82,0x0f] 256*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull v0.2d, v1.2s, v22.s[2] // encoding: [0x20,0xb8,0x96,0x0f] 257*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull2 v0.4s, v1.8h, v2.h[2] // encoding: [0x20,0xb0,0x62,0x4f] 258*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull2 v0.2d, v1.4s, v2.s[2] // encoding: [0x20,0xb8,0x82,0x4f] 259*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmull2 v0.2d, v1.4s, v22.s[2] // encoding: [0x20,0xb8,0x96,0x4f] 260*9880d681SAndroid Build Coastguard Worker 261*9880d681SAndroid Build Coastguard Worker sqdmulh v0.4h, v1.4h, v2.h[2] 262*9880d681SAndroid Build Coastguard Worker sqdmulh v0.8h, v1.8h, v2.h[2] 263*9880d681SAndroid Build Coastguard Worker sqdmulh v0.2s, v1.2s, v2.s[2] 264*9880d681SAndroid Build Coastguard Worker sqdmulh v0.2s, v1.2s, v22.s[2] 265*9880d681SAndroid Build Coastguard Worker sqdmulh v0.4s, v1.4s, v2.s[2] 266*9880d681SAndroid Build Coastguard Worker sqdmulh v0.4s, v1.4s, v22.s[2] 267*9880d681SAndroid Build Coastguard Worker 268*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0xc0,0x62,0x0f] 269*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh v0.8h, v1.8h, v2.h[2] // encoding: [0x20,0xc0,0x62,0x4f] 270*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0xc8,0x82,0x0f] 271*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0xc8,0x96,0x0f] 272*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh v0.4s, v1.4s, v2.s[2] // encoding: [0x20,0xc8,0x82,0x4f] 273*9880d681SAndroid Build Coastguard Worker// CHECK: sqdmulh v0.4s, v1.4s, v22.s[2] // encoding: [0x20,0xc8,0x96,0x4f] 274*9880d681SAndroid Build Coastguard Worker 275*9880d681SAndroid Build Coastguard Worker sqrdmulh v0.4h, v1.4h, v2.h[2] 276*9880d681SAndroid Build Coastguard Worker sqrdmulh v0.8h, v1.8h, v2.h[2] 277*9880d681SAndroid Build Coastguard Worker sqrdmulh v0.2s, v1.2s, v2.s[2] 278*9880d681SAndroid Build Coastguard Worker sqrdmulh v0.2s, v1.2s, v22.s[2] 279*9880d681SAndroid Build Coastguard Worker sqrdmulh v0.4s, v1.4s, v2.s[2] 280*9880d681SAndroid Build Coastguard Worker sqrdmulh v0.4s, v1.4s, v22.s[2] 281*9880d681SAndroid Build Coastguard Worker 282*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh v0.4h, v1.4h, v2.h[2] // encoding: [0x20,0xd0,0x62,0x0f] 283*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh v0.8h, v1.8h, v2.h[2] // encoding: [0x20,0xd0,0x62,0x4f] 284*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh v0.2s, v1.2s, v2.s[2] // encoding: [0x20,0xd8,0x82,0x0f] 285*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh v0.2s, v1.2s, v22.s[2] // encoding: [0x20,0xd8,0x96,0x0f] 286*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh v0.4s, v1.4s, v2.s[2] // encoding: [0x20,0xd8,0x82,0x4f] 287*9880d681SAndroid Build Coastguard Worker// CHECK: sqrdmulh v0.4s, v1.4s, v22.s[2] // encoding: [0x20,0xd8,0x96,0x4f] 288