brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.4 KiB · c57a122 Raw
390 lines · plain
1// RUN: llvm-mc -triple=arm64 -mattr=+neon -show-encoding < %s | FileCheck %s2 3// Check that the assembler can handle the documented syntax for AArch644 5//------------------------------------------------------------------------------6// Load multiple 1-element structures from one register (post-index)7//------------------------------------------------------------------------------8         ld1 { v0.16b }, [x0], x19         ld1 { v15.8h }, [x15], x210         ld1 { v31.4s }, [sp], #1611         ld1 { v0.2d }, [x0], #1612         ld1 { v0.8b }, [x0], x213         ld1 { v15.4h }, [x15], x314         ld1 { v31.2s }, [sp], #815         ld1 { v0.1d }, [x0], #816// CHECK: ld1 { v0.16b }, [x0], x117// CHECK:     // encoding: [0x00,0x70,0xc1,0x4c]18// CHECK: ld1 { v15.8h }, [x15], x219// CHECK:     // encoding: [0xef,0x75,0xc2,0x4c]20// CHECK: ld1 { v31.4s }, [sp], #1621// CHECK:     // encoding: [0xff,0x7b,0xdf,0x4c]22// CHECK: ld1 { v0.2d }, [x0], #1623// CHECK:     // encoding: [0x00,0x7c,0xdf,0x4c]24// CHECK: ld1 { v0.8b }, [x0], x225// CHECK:     // encoding: [0x00,0x70,0xc2,0x0c]26// CHECK: ld1 { v15.4h }, [x15], x327// CHECK:     // encoding: [0xef,0x75,0xc3,0x0c]28// CHECK: ld1 { v31.2s }, [sp], #829// CHECK:     // encoding: [0xff,0x7b,0xdf,0x0c]30// CHECK: ld1 { v0.1d }, [x0], #831// CHECK:     // encoding: [0x00,0x7c,0xdf,0x0c]32 33//------------------------------------------------------------------------------34// Load multiple 1-element structures from two consecutive registers35// (post-index)36//------------------------------------------------------------------------------37         ld1 { v0.16b, v1.16b }, [x0], x138         ld1 { v15.8h, v16.8h }, [x15], x239         ld1 { v31.4s, v0.4s }, [sp], #3240         ld1 { v0.2d, v1.2d }, [x0], #3241         ld1 { v0.8b, v1.8b }, [x0], x242         ld1 { v15.4h, v16.4h }, [x15], x343         ld1 { v31.2s, v0.2s }, [sp], #1644         ld1 { v0.1d, v1.1d }, [x0], #1645// CHECK: ld1 { v0.16b, v1.16b }, [x0], x146// CHECK:     // encoding: [0x00,0xa0,0xc1,0x4c]47// CHECK: ld1 { v15.8h, v16.8h }, [x15], x248// CHECK:     // encoding: [0xef,0xa5,0xc2,0x4c]49// CHECK: ld1 { v31.4s, v0.4s }, [sp], #3250// CHECK:     // encoding: [0xff,0xab,0xdf,0x4c]51// CHECK: ld1 { v0.2d, v1.2d }, [x0], #3252// CHECK:     // encoding: [0x00,0xac,0xdf,0x4c]53// CHECK: ld1 { v0.8b, v1.8b }, [x0], x254// CHECK:     // encoding: [0x00,0xa0,0xc2,0x0c]55// CHECK: ld1 { v15.4h, v16.4h }, [x15], x356// CHECK:     // encoding: [0xef,0xa5,0xc3,0x0c]57// CHECK: ld1 { v31.2s, v0.2s }, [sp], #1658// CHECK:     // encoding: [0xff,0xab,0xdf,0x0c]59// CHECK: ld1 { v0.1d, v1.1d }, [x0], #1660// CHECK:     // encoding: [0x00,0xac,0xdf,0x0c]61 62//------------------------------------------------------------------------------63// Load multiple 1-element structures from three consecutive registers64// (post-index)65//------------------------------------------------------------------------------66         ld1 { v0.16b, v1.16b, v2.16b }, [x0], x167         ld1 { v15.8h, v16.8h, v17.8h }, [x15], x268         ld1 { v31.4s, v0.4s, v1.4s }, [sp], #4869         ld1 { v0.2d, v1.2d, v2.2d }, [x0], #4870         ld1 { v0.8b, v1.8b, v2.8b }, [x0], x271         ld1 { v15.4h, v16.4h, v17.4h }, [x15], x372         ld1 { v31.2s, v0.2s, v1.2s }, [sp], #2473         ld1 { v0.1d, v1.1d, v2.1d }, [x0], #2474// CHECK: ld1 { v0.16b, v1.16b, v2.16b }, [x0], x175// CHECK:     // encoding: [0x00,0x60,0xc1,0x4c]76// CHECK: ld1 { v15.8h, v16.8h, v17.8h }, [x15], x277// CHECK:     // encoding: [0xef,0x65,0xc2,0x4c]78// CHECK: ld1 { v31.4s, v0.4s, v1.4s }, [sp], #4879// CHECK:     // encoding: [0xff,0x6b,0xdf,0x4c]80// CHECK: ld1 { v0.2d, v1.2d, v2.2d }, [x0], #4881// CHECK:     // encoding: [0x00,0x6c,0xdf,0x4c]82// CHECK: ld1 { v0.8b, v1.8b, v2.8b }, [x0], x283// CHECK:     // encoding: [0x00,0x60,0xc2,0x0c]84// CHECK: ld1 { v15.4h, v16.4h, v17.4h }, [x15], x385// CHECK:     // encoding: [0xef,0x65,0xc3,0x0c]86// CHECK: ld1 { v31.2s, v0.2s, v1.2s }, [sp], #2487// CHECK:     // encoding: [0xff,0x6b,0xdf,0x0c]88// CHECK: ld1 { v0.1d, v1.1d, v2.1d }, [x0], #2489// CHECK:     // encoding: [0x00,0x6c,0xdf,0x0c]90 91//------------------------------------------------------------------------------92// Load multiple 1-element structures from four consecutive registers93// (post-index)94//------------------------------------------------------------------------------95         ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x196         ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x297         ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #6498         ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #6499         ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3100         ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4101         ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32102         ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32103// CHECK: ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1104// CHECK:     // encoding: [0x00,0x20,0xc1,0x4c]105// CHECK: ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2106// CHECK:     // encoding: [0xef,0x25,0xc2,0x4c]107// CHECK: ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64108// CHECK:     // encoding: [0xff,0x2b,0xdf,0x4c]109// CHECK: ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64110// CHECK:     // encoding: [0x00,0x2c,0xdf,0x4c]111// CHECK: ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3112// CHECK:     // encoding: [0x00,0x20,0xc3,0x0c]113// CHECK: ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4114// CHECK:     // encoding: [0xef,0x25,0xc4,0x0c]115// CHECK: ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32116// CHECK:     // encoding: [0xff,0x2b,0xdf,0x0c]117// CHECK: ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32118// CHECK:     // encoding: [0x00,0x2c,0xdf,0x0c]119 120//------------------------------------------------------------------------------121// Load multiple 2-element structures from two consecutive registers122// (post-index)123//------------------------------------------------------------------------------124         ld2 { v0.16b, v1.16b }, [x0], x1125         ld2 { v15.8h, v16.8h }, [x15], x2126         ld2 { v31.4s, v0.4s }, [sp], #32127         ld2 { v0.2d, v1.2d }, [x0], #32128         ld2 { v0.8b, v1.8b }, [x0], x2129         ld2 { v15.4h, v16.4h }, [x15], x3130         ld2 { v31.2s, v0.2s }, [sp], #16131// CHECK: ld2 { v0.16b, v1.16b }, [x0], x1132// CHECK:     // encoding: [0x00,0x80,0xc1,0x4c]133// CHECK: ld2 { v15.8h, v16.8h }, [x15], x2134// CHECK:     // encoding: [0xef,0x85,0xc2,0x4c]135// CHECK: ld2 { v31.4s, v0.4s }, [sp], #32136// CHECK:     // encoding: [0xff,0x8b,0xdf,0x4c]137// CHECK: ld2 { v0.2d, v1.2d }, [x0], #32138// CHECK:     // encoding: [0x00,0x8c,0xdf,0x4c]139// CHECK: ld2 { v0.8b, v1.8b }, [x0], x2140// CHECK:     // encoding: [0x00,0x80,0xc2,0x0c]141// CHECK: ld2 { v15.4h, v16.4h }, [x15], x3142// CHECK:     // encoding: [0xef,0x85,0xc3,0x0c]143// CHECK: ld2 { v31.2s, v0.2s }, [sp], #16144// CHECK:     // encoding: [0xff,0x8b,0xdf,0x0c]145 146//------------------------------------------------------------------------------147// Load multiple 3-element structures from three consecutive registers148// (post-index)149//------------------------------------------------------------------------------150         ld3 { v0.16b, v1.16b, v2.16b }, [x0], x1151         ld3 { v15.8h, v16.8h, v17.8h }, [x15], x2152         ld3 { v31.4s, v0.4s, v1.4s }, [sp], #48153         ld3 { v0.2d, v1.2d, v2.2d }, [x0], #48154         ld3 { v0.8b, v1.8b, v2.8b }, [x0], x2155         ld3 { v15.4h, v16.4h, v17.4h }, [x15], x3156         ld3 { v31.2s, v0.2s, v1.2s }, [sp], #24157// CHECK: ld3 { v0.16b, v1.16b, v2.16b }, [x0], x1158// CHECK:     // encoding: [0x00,0x40,0xc1,0x4c]159// CHECK: ld3 { v15.8h, v16.8h, v17.8h }, [x15], x2160// CHECK:     // encoding: [0xef,0x45,0xc2,0x4c]161// CHECK: ld3 { v31.4s, v0.4s, v1.4s }, [sp], #48162// CHECK:     // encoding: [0xff,0x4b,0xdf,0x4c]163// CHECK: ld3 { v0.2d, v1.2d, v2.2d }, [x0], #48164// CHECK:     // encoding: [0x00,0x4c,0xdf,0x4c]165// CHECK: ld3 { v0.8b, v1.8b, v2.8b }, [x0], x2166// CHECK:     // encoding: [0x00,0x40,0xc2,0x0c]167// CHECK: ld3 { v15.4h, v16.4h, v17.4h }, [x15], x3168// CHECK:     // encoding: [0xef,0x45,0xc3,0x0c]169// CHECK: ld3 { v31.2s, v0.2s, v1.2s }, [sp], #24170// CHECK:     // encoding: [0xff,0x4b,0xdf,0x0c]171 172//------------------------------------------------------------------------------173// Load multiple 4-element structures from four consecutive registers174// (post-index)175//------------------------------------------------------------------------------176         ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1177         ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2178         ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64179         ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64180         ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3181         ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4182         ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32183// CHECK: ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1184// CHECK:     // encoding: [0x00,0x00,0xc1,0x4c]185// CHECK: ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2186// CHECK:     // encoding: [0xef,0x05,0xc2,0x4c]187// CHECK: ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64188// CHECK:     // encoding: [0xff,0x0b,0xdf,0x4c]189// CHECK: ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64190// CHECK:     // encoding: [0x00,0x0c,0xdf,0x4c]191// CHECK: ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3192// CHECK:     // encoding: [0x00,0x00,0xc3,0x0c]193// CHECK: ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4194// CHECK:     // encoding: [0xef,0x05,0xc4,0x0c]195// CHECK: ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32196// CHECK:     // encoding: [0xff,0x0b,0xdf,0x0c]197 198//------------------------------------------------------------------------------199// Store multiple 1-element structures from one register (post-index)200//------------------------------------------------------------------------------201         st1 { v0.16b }, [x0], x1202         st1 { v15.8h }, [x15], x2203         st1 { v31.4s }, [sp], #16204         st1 { v0.2d }, [x0], #16205         st1 { v0.8b }, [x0], x2206         st1 { v15.4h }, [x15], x3207         st1 { v31.2s }, [sp], #8208         st1 { v0.1d }, [x0], #8209// CHECK: st1 { v0.16b }, [x0], x1210// CHECK:     // encoding: [0x00,0x70,0x81,0x4c]211// CHECK: st1 { v15.8h }, [x15], x2212// CHECK:     // encoding: [0xef,0x75,0x82,0x4c]213// CHECK: st1 { v31.4s }, [sp], #16214// CHECK:     // encoding: [0xff,0x7b,0x9f,0x4c]215// CHECK: st1 { v0.2d }, [x0], #16216// CHECK:     // encoding: [0x00,0x7c,0x9f,0x4c]217// CHECK: st1 { v0.8b }, [x0], x2218// CHECK:     // encoding: [0x00,0x70,0x82,0x0c]219// CHECK: st1 { v15.4h }, [x15], x3220// CHECK:     // encoding: [0xef,0x75,0x83,0x0c]221// CHECK: st1 { v31.2s }, [sp], #8222// CHECK:     // encoding: [0xff,0x7b,0x9f,0x0c]223// CHECK: st1 { v0.1d }, [x0], #8224// CHECK:     // encoding: [0x00,0x7c,0x9f,0x0c]225 226//------------------------------------------------------------------------------227// Store multiple 1-element structures from two consecutive registers228// (post-index)229//------------------------------------------------------------------------------230         st1 { v0.16b, v1.16b }, [x0], x1231         st1 { v15.8h, v16.8h }, [x15], x2232         st1 { v31.4s, v0.4s }, [sp], #32233         st1 { v0.2d, v1.2d }, [x0], #32234         st1 { v0.8b, v1.8b }, [x0], x2235         st1 { v15.4h, v16.4h }, [x15], x3236         st1 { v31.2s, v0.2s }, [sp], #16237         st1 { v0.1d, v1.1d }, [x0], #16238// CHECK: st1 { v0.16b, v1.16b }, [x0], x1239// CHECK:     // encoding: [0x00,0xa0,0x81,0x4c]240// CHECK: st1 { v15.8h, v16.8h }, [x15], x2241// CHECK:     // encoding: [0xef,0xa5,0x82,0x4c]242// CHECK: st1 { v31.4s, v0.4s }, [sp], #32243// CHECK:     // encoding: [0xff,0xab,0x9f,0x4c]244// CHECK: st1 { v0.2d, v1.2d }, [x0], #32245// CHECK:     // encoding: [0x00,0xac,0x9f,0x4c]246// CHECK: st1 { v0.8b, v1.8b }, [x0], x2247// CHECK:     // encoding: [0x00,0xa0,0x82,0x0c]248// CHECK: st1 { v15.4h, v16.4h }, [x15], x3249// CHECK:     // encoding: [0xef,0xa5,0x83,0x0c]250// CHECK: st1 { v31.2s, v0.2s }, [sp], #16251// CHECK:     // encoding: [0xff,0xab,0x9f,0x0c]252// CHECK: st1 { v0.1d, v1.1d }, [x0], #16253// CHECK:     // encoding: [0x00,0xac,0x9f,0x0c]254 255//------------------------------------------------------------------------------256// Store multiple 1-element structures from three consecutive registers257// (post-index)258//------------------------------------------------------------------------------259         st1 { v0.16b, v1.16b, v2.16b }, [x0], x1260         st1 { v15.8h, v16.8h, v17.8h }, [x15], x2261         st1 { v31.4s, v0.4s, v1.4s }, [sp], #48262         st1 { v0.2d, v1.2d, v2.2d }, [x0], #48263         st1 { v0.8b, v1.8b, v2.8b }, [x0], x2264         st1 { v15.4h, v16.4h, v17.4h }, [x15], x3265         st1 { v31.2s, v0.2s, v1.2s }, [sp], #24266         st1 { v0.1d, v1.1d, v2.1d }, [x0], #24267// CHECK: st1 { v0.16b, v1.16b, v2.16b }, [x0], x1268// CHECK:     // encoding: [0x00,0x60,0x81,0x4c]269// CHECK: st1 { v15.8h, v16.8h, v17.8h }, [x15], x2270// CHECK:     // encoding: [0xef,0x65,0x82,0x4c]271// CHECK: st1 { v31.4s, v0.4s, v1.4s }, [sp], #48272// CHECK:     // encoding: [0xff,0x6b,0x9f,0x4c]273// CHECK: st1 { v0.2d, v1.2d, v2.2d }, [x0], #48274// CHECK:     // encoding: [0x00,0x6c,0x9f,0x4c]275// CHECK: st1 { v0.8b, v1.8b, v2.8b }, [x0], x2276// CHECK:     // encoding: [0x00,0x60,0x82,0x0c]277// CHECK: st1 { v15.4h, v16.4h, v17.4h }, [x15], x3278// CHECK:     // encoding: [0xef,0x65,0x83,0x0c]279// CHECK: st1 { v31.2s, v0.2s, v1.2s }, [sp], #24280// CHECK:     // encoding: [0xff,0x6b,0x9f,0x0c]281// CHECK: st1 { v0.1d, v1.1d, v2.1d }, [x0], #24282// CHECK:     // encoding: [0x00,0x6c,0x9f,0x0c]283 284//------------------------------------------------------------------------------285// Store multiple 1-element structures from four consecutive registers286// (post-index)287//------------------------------------------------------------------------------288         st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1289         st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2290         st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64291         st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64292         st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3293         st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4294         st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32295         st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32296// CHECK: st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1297// CHECK:     // encoding: [0x00,0x20,0x81,0x4c]298// CHECK: st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2299// CHECK:     // encoding: [0xef,0x25,0x82,0x4c]300// CHECK: st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64301// CHECK:     // encoding: [0xff,0x2b,0x9f,0x4c]302// CHECK: st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64303// CHECK:     // encoding: [0x00,0x2c,0x9f,0x4c]304// CHECK: st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3305// CHECK:     // encoding: [0x00,0x20,0x83,0x0c]306// CHECK: st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4307// CHECK:     // encoding: [0xef,0x25,0x84,0x0c]308// CHECK: st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32309// CHECK:     // encoding: [0xff,0x2b,0x9f,0x0c]310// CHECK: st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32311// CHECK:     // encoding: [0x00,0x2c,0x9f,0x0c]312 313//------------------------------------------------------------------------------314// Store multiple 2-element structures from two consecutive registers315// (post-index)316//------------------------------------------------------------------------------317         st2 { v0.16b, v1.16b }, [x0], x1318         st2 { v15.8h, v16.8h }, [x15], x2319         st2 { v31.4s, v0.4s }, [sp], #32320         st2 { v0.2d, v1.2d }, [x0], #32321         st2 { v0.8b, v1.8b }, [x0], x2322         st2 { v15.4h, v16.4h }, [x15], x3323         st2 { v31.2s, v0.2s }, [sp], #16324// CHECK: st2 { v0.16b, v1.16b }, [x0], x1325// CHECK:     // encoding: [0x00,0x80,0x81,0x4c]326// CHECK: st2 { v15.8h, v16.8h }, [x15], x2327// CHECK:     // encoding: [0xef,0x85,0x82,0x4c]328// CHECK: st2 { v31.4s, v0.4s }, [sp], #32329// CHECK:     // encoding: [0xff,0x8b,0x9f,0x4c]330// CHECK: st2 { v0.2d, v1.2d }, [x0], #32331// CHECK:     // encoding: [0x00,0x8c,0x9f,0x4c]332// CHECK: st2 { v0.8b, v1.8b }, [x0], x2333// CHECK:     // encoding: [0x00,0x80,0x82,0x0c]334// CHECK: st2 { v15.4h, v16.4h }, [x15], x3335// CHECK:     // encoding: [0xef,0x85,0x83,0x0c]336// CHECK: st2 { v31.2s, v0.2s }, [sp], #16337// CHECK:     // encoding: [0xff,0x8b,0x9f,0x0c]338 339//------------------------------------------------------------------------------340// Store multiple 3-element structures from three consecutive registers341// (post-index)342//------------------------------------------------------------------------------343         st3 { v0.16b, v1.16b, v2.16b }, [x0], x1344         st3 { v15.8h, v16.8h, v17.8h }, [x15], x2345         st3 { v31.4s, v0.4s, v1.4s }, [sp], #48346         st3 { v0.2d, v1.2d, v2.2d }, [x0], #48347         st3 { v0.8b, v1.8b, v2.8b }, [x0], x2348         st3 { v15.4h, v16.4h, v17.4h }, [x15], x3349         st3 { v31.2s, v0.2s, v1.2s }, [sp], #24350// CHECK: st3 { v0.16b, v1.16b, v2.16b }, [x0], x1351// CHECK:     // encoding: [0x00,0x40,0x81,0x4c]352// CHECK: st3 { v15.8h, v16.8h, v17.8h }, [x15], x2353// CHECK:     // encoding: [0xef,0x45,0x82,0x4c]354// CHECK: st3 { v31.4s, v0.4s, v1.4s }, [sp], #48355// CHECK:     // encoding: [0xff,0x4b,0x9f,0x4c]356// CHECK: st3 { v0.2d, v1.2d, v2.2d }, [x0], #48357// CHECK:     // encoding: [0x00,0x4c,0x9f,0x4c]358// CHECK: st3 { v0.8b, v1.8b, v2.8b }, [x0], x2359// CHECK:     // encoding: [0x00,0x40,0x82,0x0c]360// CHECK: st3 { v15.4h, v16.4h, v17.4h }, [x15], x3361// CHECK:     // encoding: [0xef,0x45,0x83,0x0c]362// CHECK: st3 { v31.2s, v0.2s, v1.2s }, [sp], #24363// CHECK:     // encoding: [0xff,0x4b,0x9f,0x0c]364 365//------------------------------------------------------------------------------366// Store multiple 4-element structures from four consecutive registers367// (post-index)368//------------------------------------------------------------------------------369         st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1370         st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2371         st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64372         st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64373         st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3374         st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4375         st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32376// CHECK: st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1377// CHECK:     // encoding: [0x00,0x00,0x81,0x4c]378// CHECK: st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2379// CHECK:     // encoding: [0xef,0x05,0x82,0x4c]380// CHECK: st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64381// CHECK:     // encoding: [0xff,0x0b,0x9f,0x4c]382// CHECK: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64383// CHECK:     // encoding: [0x00,0x0c,0x9f,0x4c]384// CHECK: st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3385// CHECK:     // encoding: [0x00,0x00,0x83,0x0c]386// CHECK: st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4387// CHECK:     // encoding: [0xef,0x05,0x84,0x0c]388// CHECK: st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32389// CHECK:     // encoding: [0xff,0x0b,0x9f,0x0c]390