1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple=arm64 -mattr=+neon -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// Store multiple 1-element structures from one register 7*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 8*9880d681SAndroid Build Coastguard Worker st1 { v0.16b }, [x0] 9*9880d681SAndroid Build Coastguard Worker st1 { v15.8h }, [x15] 10*9880d681SAndroid Build Coastguard Worker st1 { v31.4s }, [sp] 11*9880d681SAndroid Build Coastguard Worker st1 { v0.2d }, [x0] 12*9880d681SAndroid Build Coastguard Worker st1 { v0.8b }, [x0] 13*9880d681SAndroid Build Coastguard Worker st1 { v15.4h }, [x15] 14*9880d681SAndroid Build Coastguard Worker st1 { v31.2s }, [sp] 15*9880d681SAndroid Build Coastguard Worker st1 { v0.1d }, [x0] 16*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.16b }, [x0] // encoding: [0x00,0x70,0x00,0x4c] 17*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.8h }, [x15] // encoding: [0xef,0x75,0x00,0x4c] 18*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.4s }, [sp] // encoding: [0xff,0x7b,0x00,0x4c] 19*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.2d }, [x0] // encoding: [0x00,0x7c,0x00,0x4c] 20*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.8b }, [x0] // encoding: [0x00,0x70,0x00,0x0c] 21*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.4h }, [x15] // encoding: [0xef,0x75,0x00,0x0c] 22*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.2s }, [sp] // encoding: [0xff,0x7b,0x00,0x0c] 23*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.1d }, [x0] // encoding: [0x00,0x7c,0x00,0x0c] 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 26*9880d681SAndroid Build Coastguard Worker// Store multiple 1-element structures from two consecutive registers 27*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 28*9880d681SAndroid Build Coastguard Worker st1 { v0.16b, v1.16b }, [x0] 29*9880d681SAndroid Build Coastguard Worker st1 { v15.8h, v16.8h }, [x15] 30*9880d681SAndroid Build Coastguard Worker st1 { v31.4s, v0.4s }, [sp] 31*9880d681SAndroid Build Coastguard Worker st1 { v0.2d, v1.2d }, [x0] 32*9880d681SAndroid Build Coastguard Worker st1 { v0.8b, v1.8b }, [x0] 33*9880d681SAndroid Build Coastguard Worker st1 { v15.4h, v16.4h }, [x15] 34*9880d681SAndroid Build Coastguard Worker st1 { v31.2s, v0.2s }, [sp] 35*9880d681SAndroid Build Coastguard Worker st1 { v0.1d, v1.1d }, [x0] 36*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0xa0,0x00,0x4c] 37*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x00,0x4c] 38*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0xab,0x00,0x4c] 39*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0xac,0x00,0x4c] 40*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0xa0,0x00,0x0c] 41*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x00,0x0c] 42*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0xab,0x00,0x0c] 43*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.1d, v1.1d }, [x0] // encoding: [0x00,0xac,0x00,0x0c] 44*9880d681SAndroid Build Coastguard Worker 45*9880d681SAndroid Build Coastguard Worker st1 { v0.16b-v1.16b }, [x0] 46*9880d681SAndroid Build Coastguard Worker st1 { v15.8h-v16.8h }, [x15] 47*9880d681SAndroid Build Coastguard Worker st1 { v31.4s-v0.4s }, [sp] 48*9880d681SAndroid Build Coastguard Worker st1 { v0.2d-v1.2d }, [x0] 49*9880d681SAndroid Build Coastguard Worker st1 { v0.8b-v1.8b }, [x0] 50*9880d681SAndroid Build Coastguard Worker st1 { v15.4h-v16.4h }, [x15] 51*9880d681SAndroid Build Coastguard Worker st1 { v31.2s-v0.2s }, [sp] 52*9880d681SAndroid Build Coastguard Worker st1 { v0.1d-v1.1d }, [x0] 53*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0xa0,0x00,0x4c] 54*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x00,0x4c] 55*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0xab,0x00,0x4c] 56*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0xac,0x00,0x4c] 57*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0xa0,0x00,0x0c] 58*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x00,0x0c] 59*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0xab,0x00,0x0c] 60*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.1d, v1.1d }, [x0] // encoding: [0x00,0xac,0x00,0x0c] 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 63*9880d681SAndroid Build Coastguard Worker// Store multiple 1-element structures from three consecutive registers 64*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 65*9880d681SAndroid Build Coastguard Worker st1 { v0.16b, v1.16b, v2.16b }, [x0] 66*9880d681SAndroid Build Coastguard Worker st1 { v15.8h, v16.8h, v17.8h }, [x15] 67*9880d681SAndroid Build Coastguard Worker st1 { v31.4s, v0.4s, v1.4s }, [sp] 68*9880d681SAndroid Build Coastguard Worker st1 { v0.2d, v1.2d, v2.2d }, [x0] 69*9880d681SAndroid Build Coastguard Worker st1 { v0.8b, v1.8b, v2.8b }, [x0] 70*9880d681SAndroid Build Coastguard Worker st1 { v15.4h, v16.4h, v17.4h }, [x15] 71*9880d681SAndroid Build Coastguard Worker st1 { v31.2s, v0.2s, v1.2s }, [sp] 72*9880d681SAndroid Build Coastguard Worker st1 { v0.1d, v1.1d, v2.1d }, [x0] 73*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x00,0x4c] 74*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x00,0x4c] 75*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x00,0x4c] 76*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x00,0x4c] 77*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x00,0x0c] 78*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x00,0x0c] 79*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x00,0x0c] 80*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x00,0x0c] 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard Worker st1 { v0.16b-v2.16b }, [x0] 83*9880d681SAndroid Build Coastguard Worker st1 { v15.8h-v17.8h }, [x15] 84*9880d681SAndroid Build Coastguard Worker st1 { v31.4s-v1.4s }, [sp] 85*9880d681SAndroid Build Coastguard Worker st1 { v0.2d-v2.2d }, [x0] 86*9880d681SAndroid Build Coastguard Worker st1 { v0.8b-v2.8b }, [x0] 87*9880d681SAndroid Build Coastguard Worker st1 { v15.4h-v17.4h }, [x15] 88*9880d681SAndroid Build Coastguard Worker st1 { v31.2s-v1.2s }, [sp] 89*9880d681SAndroid Build Coastguard Worker st1 { v0.1d-v2.1d }, [x0] 90*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x00,0x4c] 91*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x00,0x4c] 92*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x00,0x4c] 93*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x00,0x4c] 94*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x00,0x0c] 95*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x00,0x0c] 96*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x00,0x0c] 97*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x00,0x0c] 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 100*9880d681SAndroid Build Coastguard Worker// Store multiple 1-element structures from four consecutive registers 101*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 102*9880d681SAndroid Build Coastguard Worker st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] 103*9880d681SAndroid Build Coastguard Worker st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] 104*9880d681SAndroid Build Coastguard Worker st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] 105*9880d681SAndroid Build Coastguard Worker st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] 106*9880d681SAndroid Build Coastguard Worker st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] 107*9880d681SAndroid Build Coastguard Worker st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] 108*9880d681SAndroid Build Coastguard Worker st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] 109*9880d681SAndroid Build Coastguard Worker st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0] 110*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x00,0x4c] 111*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x00,0x4c] 112*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x00,0x4c] 113*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x00,0x4c] 114*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x00,0x0c] 115*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x00,0x0c] 116*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x00,0x0c] 117*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x00,0x0c] 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Worker st1 { v0.16b-v3.16b }, [x0] 120*9880d681SAndroid Build Coastguard Worker st1 { v15.8h-v18.8h }, [x15] 121*9880d681SAndroid Build Coastguard Worker st1 { v31.4s-v2.4s }, [sp] 122*9880d681SAndroid Build Coastguard Worker st1 { v0.2d-v3.2d }, [x0] 123*9880d681SAndroid Build Coastguard Worker st1 { v0.8b-v3.8b }, [x0] 124*9880d681SAndroid Build Coastguard Worker st1 { v15.4h-v18.4h }, [x15] 125*9880d681SAndroid Build Coastguard Worker st1 { v31.2s-v2.2s }, [sp] 126*9880d681SAndroid Build Coastguard Worker st1 { v0.1d-v3.1d }, [x0] 127*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x00,0x4c] 128*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x00,0x4c] 129*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x00,0x4c] 130*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x00,0x4c] 131*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x00,0x0c] 132*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x00,0x0c] 133*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x00,0x0c] 134*9880d681SAndroid Build Coastguard Worker// CHECK: st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x00,0x0c] 135*9880d681SAndroid Build Coastguard Worker 136*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 137*9880d681SAndroid Build Coastguard Worker// Store multiple 2-element structures from two consecutive registers 138*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 139*9880d681SAndroid Build Coastguard Worker st2 { v0.16b, v1.16b }, [x0] 140*9880d681SAndroid Build Coastguard Worker st2 { v15.8h, v16.8h }, [x15] 141*9880d681SAndroid Build Coastguard Worker st2 { v31.4s, v0.4s }, [sp] 142*9880d681SAndroid Build Coastguard Worker st2 { v0.2d, v1.2d }, [x0] 143*9880d681SAndroid Build Coastguard Worker st2 { v0.8b, v1.8b }, [x0] 144*9880d681SAndroid Build Coastguard Worker st2 { v15.4h, v16.4h }, [x15] 145*9880d681SAndroid Build Coastguard Worker st2 { v31.2s, v0.2s }, [sp] 146*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0x80,0x00,0x4c] 147*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x00,0x4c] 148*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0x8b,0x00,0x4c] 149*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0x8c,0x00,0x4c] 150*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0x80,0x00,0x0c] 151*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x00,0x0c] 152*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0x8b,0x00,0x0c] 153*9880d681SAndroid Build Coastguard Worker 154*9880d681SAndroid Build Coastguard Worker st2 { v0.16b-v1.16b }, [x0] 155*9880d681SAndroid Build Coastguard Worker st2 { v15.8h-v16.8h }, [x15] 156*9880d681SAndroid Build Coastguard Worker st2 { v31.4s-v0.4s }, [sp] 157*9880d681SAndroid Build Coastguard Worker st2 { v0.2d-v1.2d }, [x0] 158*9880d681SAndroid Build Coastguard Worker st2 { v0.8b-v1.8b }, [x0] 159*9880d681SAndroid Build Coastguard Worker st2 { v15.4h-v16.4h }, [x15] 160*9880d681SAndroid Build Coastguard Worker st2 { v31.2s-v0.2s }, [sp] 161*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0x80,0x00,0x4c] 162*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x00,0x4c] 163*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0x8b,0x00,0x4c] 164*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0x8c,0x00,0x4c] 165*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0x80,0x00,0x0c] 166*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x00,0x0c] 167*9880d681SAndroid Build Coastguard Worker// CHECK: st2 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0x8b,0x00,0x0c] 168*9880d681SAndroid Build Coastguard Worker 169*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 170*9880d681SAndroid Build Coastguard Worker// Store multiple 3-element structures from three consecutive registers 171*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 172*9880d681SAndroid Build Coastguard Worker st3 { v0.16b, v1.16b, v2.16b }, [x0] 173*9880d681SAndroid Build Coastguard Worker st3 { v15.8h, v16.8h, v17.8h }, [x15] 174*9880d681SAndroid Build Coastguard Worker st3 { v31.4s, v0.4s, v1.4s }, [sp] 175*9880d681SAndroid Build Coastguard Worker st3 { v0.2d, v1.2d, v2.2d }, [x0] 176*9880d681SAndroid Build Coastguard Worker st3 { v0.8b, v1.8b, v2.8b }, [x0] 177*9880d681SAndroid Build Coastguard Worker st3 { v15.4h, v16.4h, v17.4h }, [x15] 178*9880d681SAndroid Build Coastguard Worker st3 { v31.2s, v0.2s, v1.2s }, [sp] 179*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x00,0x4c] 180*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x00,0x4c] 181*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x00,0x4c] 182*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x00,0x4c] 183*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x00,0x0c] 184*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x00,0x0c] 185*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x00,0x0c] 186*9880d681SAndroid Build Coastguard Worker 187*9880d681SAndroid Build Coastguard Worker st3 { v0.16b-v2.16b }, [x0] 188*9880d681SAndroid Build Coastguard Worker st3 { v15.8h-v17.8h }, [x15] 189*9880d681SAndroid Build Coastguard Worker st3 { v31.4s-v1.4s }, [sp] 190*9880d681SAndroid Build Coastguard Worker st3 { v0.2d-v2.2d }, [x0] 191*9880d681SAndroid Build Coastguard Worker st3 { v0.8b-v2.8b }, [x0] 192*9880d681SAndroid Build Coastguard Worker st3 { v15.4h-v17.4h }, [x15] 193*9880d681SAndroid Build Coastguard Worker st3 { v31.2s-v1.2s }, [sp] 194*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x00,0x4c] 195*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x00,0x4c] 196*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x00,0x4c] 197*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x00,0x4c] 198*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x00,0x0c] 199*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x00,0x0c] 200*9880d681SAndroid Build Coastguard Worker// CHECK: st3 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x00,0x0c] 201*9880d681SAndroid Build Coastguard Worker 202*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 203*9880d681SAndroid Build Coastguard Worker// Store multiple 4-element structures from four consecutive registers 204*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 205*9880d681SAndroid Build Coastguard Worker st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] 206*9880d681SAndroid Build Coastguard Worker st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] 207*9880d681SAndroid Build Coastguard Worker st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] 208*9880d681SAndroid Build Coastguard Worker st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] 209*9880d681SAndroid Build Coastguard Worker st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] 210*9880d681SAndroid Build Coastguard Worker st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] 211*9880d681SAndroid Build Coastguard Worker st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] 212*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x00,0x4c] 213*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x00,0x4c] 214*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x00,0x4c] 215*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x00,0x4c] 216*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x00,0x0c] 217*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x00,0x0c] 218*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x00,0x0c] 219*9880d681SAndroid Build Coastguard Worker 220*9880d681SAndroid Build Coastguard Worker st4 { v0.16b-v3.16b }, [x0] 221*9880d681SAndroid Build Coastguard Worker st4 { v15.8h-v18.8h }, [x15] 222*9880d681SAndroid Build Coastguard Worker st4 { v31.4s-v2.4s }, [sp] 223*9880d681SAndroid Build Coastguard Worker st4 { v0.2d-v3.2d }, [x0] 224*9880d681SAndroid Build Coastguard Worker st4 { v0.8b-v3.8b }, [x0] 225*9880d681SAndroid Build Coastguard Worker st4 { v15.4h-v18.4h }, [x15] 226*9880d681SAndroid Build Coastguard Worker st4 { v31.2s-v2.2s }, [sp] 227*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x00,0x4c] 228*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x00,0x4c] 229*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x00,0x4c] 230*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x00,0x4c] 231*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x00,0x0c] 232*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x00,0x0c] 233*9880d681SAndroid Build Coastguard Worker// CHECK: st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x00,0x0c] 234*9880d681SAndroid Build Coastguard Worker 235*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 236*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to one register 237*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 238*9880d681SAndroid Build Coastguard Worker ld1 { v0.16b }, [x0] 239*9880d681SAndroid Build Coastguard Worker ld1 { v15.8h }, [x15] 240*9880d681SAndroid Build Coastguard Worker ld1 { v31.4s }, [sp] 241*9880d681SAndroid Build Coastguard Worker ld1 { v0.2d }, [x0] 242*9880d681SAndroid Build Coastguard Worker ld1 { v0.8b }, [x0] 243*9880d681SAndroid Build Coastguard Worker ld1 { v15.4h }, [x15] 244*9880d681SAndroid Build Coastguard Worker ld1 { v31.2s }, [sp] 245*9880d681SAndroid Build Coastguard Worker ld1 { v0.1d }, [x0] 246*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.16b }, [x0] // encoding: [0x00,0x70,0x40,0x4c] 247*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.8h }, [x15] // encoding: [0xef,0x75,0x40,0x4c] 248*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.4s }, [sp] // encoding: [0xff,0x7b,0x40,0x4c] 249*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.2d }, [x0] // encoding: [0x00,0x7c,0x40,0x4c] 250*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.8b }, [x0] // encoding: [0x00,0x70,0x40,0x0c] 251*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.4h }, [x15] // encoding: [0xef,0x75,0x40,0x0c] 252*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.2s }, [sp] // encoding: [0xff,0x7b,0x40,0x0c] 253*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.1d }, [x0] // encoding: [0x00,0x7c,0x40,0x0c] 254*9880d681SAndroid Build Coastguard Worker 255*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 256*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to two consecutive registers 257*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 258*9880d681SAndroid Build Coastguard Worker ld1 { v0.16b, v1.16b }, [x0] 259*9880d681SAndroid Build Coastguard Worker ld1 { v15.8h, v16.8h }, [x15] 260*9880d681SAndroid Build Coastguard Worker ld1 { v31.4s, v0.4s }, [sp] 261*9880d681SAndroid Build Coastguard Worker ld1 { v0.2d, v1.2d }, [x0] 262*9880d681SAndroid Build Coastguard Worker ld1 { v0.8b, v1.8b }, [x0] 263*9880d681SAndroid Build Coastguard Worker ld1 { v15.4h, v16.4h }, [x15] 264*9880d681SAndroid Build Coastguard Worker ld1 { v31.2s, v0.2s }, [sp] 265*9880d681SAndroid Build Coastguard Worker ld1 { v0.1d, v1.1d }, [x0] 266*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0xa0,0x40,0x4c] 267*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x40,0x4c] 268*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0xab,0x40,0x4c] 269*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0xac,0x40,0x4c] 270*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0xa0,0x40,0x0c] 271*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x40,0x0c] 272*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0xab,0x40,0x0c] 273*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.1d, v1.1d }, [x0] // encoding: [0x00,0xac,0x40,0x0c] 274*9880d681SAndroid Build Coastguard Worker 275*9880d681SAndroid Build Coastguard Worker ld1 { v0.16b-v1.16b }, [x0] 276*9880d681SAndroid Build Coastguard Worker ld1 { v15.8h-v16.8h }, [x15] 277*9880d681SAndroid Build Coastguard Worker ld1 { v31.4s-v0.4s }, [sp] 278*9880d681SAndroid Build Coastguard Worker ld1 { v0.2d-v1.2d }, [x0] 279*9880d681SAndroid Build Coastguard Worker ld1 { v0.8b-v1.8b }, [x0] 280*9880d681SAndroid Build Coastguard Worker ld1 { v15.4h-v16.4h }, [x15] 281*9880d681SAndroid Build Coastguard Worker ld1 { v31.2s-v0.2s }, [sp] 282*9880d681SAndroid Build Coastguard Worker ld1 { v0.1d-v1.1d }, [x0] 283*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0xa0,0x40,0x4c] 284*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0xa5,0x40,0x4c] 285*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0xab,0x40,0x4c] 286*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0xac,0x40,0x4c] 287*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0xa0,0x40,0x0c] 288*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0xa5,0x40,0x0c] 289*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0xab,0x40,0x0c] 290*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.1d, v1.1d }, [x0] // encoding: [0x00,0xac,0x40,0x0c] 291*9880d681SAndroid Build Coastguard Worker 292*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 293*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to three consecutive registers 294*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 295*9880d681SAndroid Build Coastguard Worker ld1 { v0.16b, v1.16b, v2.16b }, [x0] 296*9880d681SAndroid Build Coastguard Worker ld1 { v15.8h, v16.8h, v17.8h }, [x15] 297*9880d681SAndroid Build Coastguard Worker ld1 { v31.4s, v0.4s, v1.4s }, [sp] 298*9880d681SAndroid Build Coastguard Worker ld1 { v0.2d, v1.2d, v2.2d }, [x0] 299*9880d681SAndroid Build Coastguard Worker ld1 { v0.8b, v1.8b, v2.8b }, [x0] 300*9880d681SAndroid Build Coastguard Worker ld1 { v15.4h, v16.4h, v17.4h }, [x15] 301*9880d681SAndroid Build Coastguard Worker ld1 { v31.2s, v0.2s, v1.2s }, [sp] 302*9880d681SAndroid Build Coastguard Worker ld1 { v0.1d, v1.1d, v2.1d }, [x0] 303*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x40,0x4c] 304*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x40,0x4c] 305*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x40,0x4c] 306*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x40,0x4c] 307*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x40,0x0c] 308*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x40,0x0c] 309*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x40,0x0c] 310*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x40,0x0c] 311*9880d681SAndroid Build Coastguard Worker 312*9880d681SAndroid Build Coastguard Worker ld1 { v0.16b-v2.16b }, [x0] 313*9880d681SAndroid Build Coastguard Worker ld1 { v15.8h-v17.8h }, [x15] 314*9880d681SAndroid Build Coastguard Worker ld1 { v31.4s-v1.4s }, [sp] 315*9880d681SAndroid Build Coastguard Worker ld1 { v0.2d-v2.2d }, [x0] 316*9880d681SAndroid Build Coastguard Worker ld1 { v0.8b-v2.8b }, [x0] 317*9880d681SAndroid Build Coastguard Worker ld1 { v15.4h-v17.4h }, [x15] 318*9880d681SAndroid Build Coastguard Worker ld1 { v31.2s-v1.2s }, [sp] 319*9880d681SAndroid Build Coastguard Worker ld1 { v0.1d-v2.1d }, [x0] 320*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x60,0x40,0x4c] 321*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x65,0x40,0x4c] 322*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x6b,0x40,0x4c] 323*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x6c,0x40,0x4c] 324*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x60,0x40,0x0c] 325*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x65,0x40,0x0c] 326*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x6b,0x40,0x0c] 327*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.1d, v1.1d, v2.1d }, [x0] // encoding: [0x00,0x6c,0x40,0x0c] 328*9880d681SAndroid Build Coastguard Worker 329*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 330*9880d681SAndroid Build Coastguard Worker// Load multiple 1-element structures to four consecutive registers 331*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 332*9880d681SAndroid Build Coastguard Worker ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] 333*9880d681SAndroid Build Coastguard Worker ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] 334*9880d681SAndroid Build Coastguard Worker ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] 335*9880d681SAndroid Build Coastguard Worker ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] 336*9880d681SAndroid Build Coastguard Worker ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] 337*9880d681SAndroid Build Coastguard Worker ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] 338*9880d681SAndroid Build Coastguard Worker ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] 339*9880d681SAndroid Build Coastguard Worker ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0] 340*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x40,0x4c] 341*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x40,0x4c] 342*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x40,0x4c] 343*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x40,0x4c] 344*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x40,0x0c] 345*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x40,0x0c] 346*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x40,0x0c] 347*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x40,0x0c] 348*9880d681SAndroid Build Coastguard Worker 349*9880d681SAndroid Build Coastguard Worker ld1 { v0.16b-v3.16b }, [x0] 350*9880d681SAndroid Build Coastguard Worker ld1 { v15.8h-v18.8h }, [x15] 351*9880d681SAndroid Build Coastguard Worker ld1 { v31.4s-v2.4s }, [sp] 352*9880d681SAndroid Build Coastguard Worker ld1 { v0.2d-v3.2d }, [x0] 353*9880d681SAndroid Build Coastguard Worker ld1 { v0.8b-v3.8b }, [x0] 354*9880d681SAndroid Build Coastguard Worker ld1 { v15.4h-v18.4h }, [x15] 355*9880d681SAndroid Build Coastguard Worker ld1 { v31.2s-v2.2s }, [sp] 356*9880d681SAndroid Build Coastguard Worker ld1 { v0.1d-v3.1d }, [x0] 357*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x20,0x40,0x4c] 358*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x25,0x40,0x4c] 359*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x2b,0x40,0x4c] 360*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x2c,0x40,0x4c] 361*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x20,0x40,0x0c] 362*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x25,0x40,0x0c] 363*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x2b,0x40,0x0c] 364*9880d681SAndroid Build Coastguard Worker// CHECK: ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0] // encoding: [0x00,0x2c,0x40,0x0c] 365*9880d681SAndroid Build Coastguard Worker 366*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 367*9880d681SAndroid Build Coastguard Worker// Load multiple 4-element structures to two consecutive registers 368*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 369*9880d681SAndroid Build Coastguard Worker ld2 { v0.16b, v1.16b }, [x0] 370*9880d681SAndroid Build Coastguard Worker ld2 { v15.8h, v16.8h }, [x15] 371*9880d681SAndroid Build Coastguard Worker ld2 { v31.4s, v0.4s }, [sp] 372*9880d681SAndroid Build Coastguard Worker ld2 { v0.2d, v1.2d }, [x0] 373*9880d681SAndroid Build Coastguard Worker ld2 { v0.8b, v1.8b }, [x0] 374*9880d681SAndroid Build Coastguard Worker ld2 { v15.4h, v16.4h }, [x15] 375*9880d681SAndroid Build Coastguard Worker ld2 { v31.2s, v0.2s }, [sp] 376*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0x80,0x40,0x4c] 377*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x40,0x4c] 378*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0x8b,0x40,0x4c] 379*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0x8c,0x40,0x4c] 380*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0x80,0x40,0x0c] 381*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x40,0x0c] 382*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0x8b,0x40,0x0c] 383*9880d681SAndroid Build Coastguard Worker 384*9880d681SAndroid Build Coastguard Worker ld2 { v0.16b-v1.16b }, [x0] 385*9880d681SAndroid Build Coastguard Worker ld2 { v15.8h-v16.8h }, [x15] 386*9880d681SAndroid Build Coastguard Worker ld2 { v31.4s-v0.4s }, [sp] 387*9880d681SAndroid Build Coastguard Worker ld2 { v0.2d-v1.2d }, [x0] 388*9880d681SAndroid Build Coastguard Worker ld2 { v0.8b-v1.8b }, [x0] 389*9880d681SAndroid Build Coastguard Worker ld2 { v15.4h-v16.4h }, [x15] 390*9880d681SAndroid Build Coastguard Worker ld2 { v31.2s-v0.2s }, [sp] 391*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v0.16b, v1.16b }, [x0] // encoding: [0x00,0x80,0x40,0x4c] 392*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v15.8h, v16.8h }, [x15] // encoding: [0xef,0x85,0x40,0x4c] 393*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v31.4s, v0.4s }, [sp] // encoding: [0xff,0x8b,0x40,0x4c] 394*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v0.2d, v1.2d }, [x0] // encoding: [0x00,0x8c,0x40,0x4c] 395*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v0.8b, v1.8b }, [x0] // encoding: [0x00,0x80,0x40,0x0c] 396*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v15.4h, v16.4h }, [x15] // encoding: [0xef,0x85,0x40,0x0c] 397*9880d681SAndroid Build Coastguard Worker// CHECK: ld2 { v31.2s, v0.2s }, [sp] // encoding: [0xff,0x8b,0x40,0x0c] 398*9880d681SAndroid Build Coastguard Worker 399*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 400*9880d681SAndroid Build Coastguard Worker// Load multiple 3-element structures to three consecutive registers 401*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 402*9880d681SAndroid Build Coastguard Worker ld3 { v0.16b, v1.16b, v2.16b }, [x0] 403*9880d681SAndroid Build Coastguard Worker ld3 { v15.8h, v16.8h, v17.8h }, [x15] 404*9880d681SAndroid Build Coastguard Worker ld3 { v31.4s, v0.4s, v1.4s }, [sp] 405*9880d681SAndroid Build Coastguard Worker ld3 { v0.2d, v1.2d, v2.2d }, [x0] 406*9880d681SAndroid Build Coastguard Worker ld3 { v0.8b, v1.8b, v2.8b }, [x0] 407*9880d681SAndroid Build Coastguard Worker ld3 { v15.4h, v16.4h, v17.4h }, [x15] 408*9880d681SAndroid Build Coastguard Worker ld3 { v31.2s, v0.2s, v1.2s }, [sp] 409*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x40,0x4c] 410*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x40,0x4c] 411*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x40,0x4c] 412*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x40,0x4c] 413*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x40,0x0c] 414*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x40,0x0c] 415*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x40,0x0c] 416*9880d681SAndroid Build Coastguard Worker 417*9880d681SAndroid Build Coastguard Worker ld3 { v0.16b-v2.16b }, [x0] 418*9880d681SAndroid Build Coastguard Worker ld3 { v15.8h-v17.8h }, [x15] 419*9880d681SAndroid Build Coastguard Worker ld3 { v31.4s-v1.4s }, [sp] 420*9880d681SAndroid Build Coastguard Worker ld3 { v0.2d-v2.2d }, [x0] 421*9880d681SAndroid Build Coastguard Worker ld3 { v0.8b-v2.8b }, [x0] 422*9880d681SAndroid Build Coastguard Worker ld3 { v15.4h-v17.4h }, [x15] 423*9880d681SAndroid Build Coastguard Worker ld3 { v31.2s-v1.2s }, [sp] 424*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v0.16b, v1.16b, v2.16b }, [x0] // encoding: [0x00,0x40,0x40,0x4c] 425*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v15.8h, v16.8h, v17.8h }, [x15] // encoding: [0xef,0x45,0x40,0x4c] 426*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v31.4s, v0.4s, v1.4s }, [sp] // encoding: [0xff,0x4b,0x40,0x4c] 427*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v0.2d, v1.2d, v2.2d }, [x0] // encoding: [0x00,0x4c,0x40,0x4c] 428*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v0.8b, v1.8b, v2.8b }, [x0] // encoding: [0x00,0x40,0x40,0x0c] 429*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v15.4h, v16.4h, v17.4h }, [x15] // encoding: [0xef,0x45,0x40,0x0c] 430*9880d681SAndroid Build Coastguard Worker// CHECK: ld3 { v31.2s, v0.2s, v1.2s }, [sp] // encoding: [0xff,0x4b,0x40,0x0c] 431*9880d681SAndroid Build Coastguard Worker 432*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 433*9880d681SAndroid Build Coastguard Worker// Load multiple 4-element structures to four consecutive registers 434*9880d681SAndroid Build Coastguard Worker//------------------------------------------------------------------------------ 435*9880d681SAndroid Build Coastguard Worker ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] 436*9880d681SAndroid Build Coastguard Worker ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] 437*9880d681SAndroid Build Coastguard Worker ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] 438*9880d681SAndroid Build Coastguard Worker ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] 439*9880d681SAndroid Build Coastguard Worker ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] 440*9880d681SAndroid Build Coastguard Worker ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] 441*9880d681SAndroid Build Coastguard Worker ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] 442*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x40,0x4c] 443*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x40,0x4c] 444*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x40,0x4c] 445*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x40,0x4c] 446*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x40,0x0c] 447*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x40,0x0c] 448*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x40,0x0c] 449*9880d681SAndroid Build Coastguard Worker 450*9880d681SAndroid Build Coastguard Worker ld4 { v0.16b-v3.16b }, [x0] 451*9880d681SAndroid Build Coastguard Worker ld4 { v15.8h-v18.8h }, [x15] 452*9880d681SAndroid Build Coastguard Worker ld4 { v31.4s-v2.4s }, [sp] 453*9880d681SAndroid Build Coastguard Worker ld4 { v0.2d-v3.2d }, [x0] 454*9880d681SAndroid Build Coastguard Worker ld4 { v0.8b-v3.8b }, [x0] 455*9880d681SAndroid Build Coastguard Worker ld4 { v15.4h-v18.4h }, [x15] 456*9880d681SAndroid Build Coastguard Worker ld4 { v31.2s-v2.2s }, [sp] 457*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0] // encoding: [0x00,0x00,0x40,0x4c] 458*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15] // encoding: [0xef,0x05,0x40,0x4c] 459*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp] // encoding: [0xff,0x0b,0x40,0x4c] 460*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0] // encoding: [0x00,0x0c,0x40,0x4c] 461*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x40,0x0c] 462*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15] // encoding: [0xef,0x05,0x40,0x0c] 463*9880d681SAndroid Build Coastguard Worker// CHECK: ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp] // encoding: [0xff,0x0b,0x40,0x0c] 464