1dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// RUN: llvm-mc -triple=arm64 -mattr=+neon -show-encoding < %s | FileCheck %s 2591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 3591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Check that the assembler can handle the documented syntax for AArch64 4591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 5591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 6591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from one register (post-index) 7591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 8dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.16b }, [x0], x1 9dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.8h }, [x15], x2 10dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.4s }, [sp], #16 11dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.2d }, [x0], #16 12dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.8b }, [x0], x2 13dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.4h }, [x15], x3 14dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.2s }, [sp], #8 15dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.1d }, [x0], #8 16dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b }, [x0], x1 17591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x70,0xc1,0x4c] 18dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h }, [x15], x2 19591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x75,0xc2,0x4c] 20dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s }, [sp], #16 21591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x7b,0xdf,0x4c] 22dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d }, [x0], #16 23591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x7c,0xdf,0x4c] 24dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b }, [x0], x2 25591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x70,0xc2,0x0c] 26dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h }, [x15], x3 27591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x75,0xc3,0x0c] 28dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s }, [sp], #8 29591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x7b,0xdf,0x0c] 30dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d }, [x0], #8 31591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x7c,0xdf,0x0c] 32591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 33591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 34591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from two consecutive registers 35591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 36591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 37dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.16b, v1.16b }, [x0], x1 38dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.8h, v16.8h }, [x15], x2 39dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.4s, v0.4s }, [sp], #32 40dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.2d, v1.2d }, [x0], #32 41dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.8b, v1.8b }, [x0], x2 42dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.4h, v16.4h }, [x15], x3 43dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.2s, v0.2s }, [sp], #16 44dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.1d, v1.1d }, [x0], #16 45dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b, v1.16b }, [x0], x1 46591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xa0,0xc1,0x4c] 47dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h, v16.8h }, [x15], x2 48591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0xa5,0xc2,0x4c] 49dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s, v0.4s }, [sp], #32 50591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0xab,0xdf,0x4c] 51dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d, v1.2d }, [x0], #32 52591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xac,0xdf,0x4c] 53dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b, v1.8b }, [x0], x2 54591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xa0,0xc2,0x0c] 55dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h, v16.4h }, [x15], x3 56591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0xa5,0xc3,0x0c] 57dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s, v0.2s }, [sp], #16 58591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0xab,0xdf,0x0c] 59dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d, v1.1d }, [x0], #16 60591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xac,0xdf,0x0c] 61591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 62591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 63591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from three consecutive registers 64591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 65591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 66dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.16b, v1.16b, v2.16b }, [x0], x1 67dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.8h, v16.8h, v17.8h }, [x15], x2 68dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.4s, v0.4s, v1.4s }, [sp], #48 69dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 70dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.8b, v1.8b, v2.8b }, [x0], x2 71dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.4h, v16.4h, v17.4h }, [x15], x3 72dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.2s, v0.2s, v1.2s }, [sp], #24 73dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.1d, v1.1d, v2.1d }, [x0], #24 74dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b, v1.16b, v2.16b }, [x0], x1 75591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x60,0xc1,0x4c] 76dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h, v16.8h, v17.8h }, [x15], x2 77591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x65,0xc2,0x4c] 78dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s, v0.4s, v1.4s }, [sp], #48 79591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x6b,0xdf,0x4c] 80dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d, v1.2d, v2.2d }, [x0], #48 81591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x6c,0xdf,0x4c] 82dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b, v1.8b, v2.8b }, [x0], x2 83591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x60,0xc2,0x0c] 84dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h, v16.4h, v17.4h }, [x15], x3 85591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x65,0xc3,0x0c] 86dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s, v0.2s, v1.2s }, [sp], #24 87591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x6b,0xdf,0x0c] 88dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d, v1.1d, v2.1d }, [x0], #24 89591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x6c,0xdf,0x0c] 90591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 91591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 92591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 1-element structures from four consecutive registers 93591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 94591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 95dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 96dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 97dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 98dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 99dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 100dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 101dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 102dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32 103dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 104591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x20,0xc1,0x4c] 105dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 106591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x25,0xc2,0x4c] 107dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 108591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x2b,0xdf,0x4c] 109dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 110591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x2c,0xdf,0x4c] 111dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 112591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x20,0xc3,0x0c] 113dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 114591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x25,0xc4,0x0c] 115dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 116591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x2b,0xdf,0x0c] 117dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32 118591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x2c,0xdf,0x0c] 119591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 120591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 121591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 2-element structures from two consecutive registers 122591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 123591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 124dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld2 { v0.16b, v1.16b }, [x0], x1 125dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld2 { v15.8h, v16.8h }, [x15], x2 126dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld2 { v31.4s, v0.4s }, [sp], #32 127dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld2 { v0.2d, v1.2d }, [x0], #32 128dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld2 { v0.8b, v1.8b }, [x0], x2 129dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld2 { v15.4h, v16.4h }, [x15], x3 130dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld2 { v31.2s, v0.2s }, [sp], #16 131dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v0.16b, v1.16b }, [x0], x1 132591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x80,0xc1,0x4c] 133dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v15.8h, v16.8h }, [x15], x2 134591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x85,0xc2,0x4c] 135dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v31.4s, v0.4s }, [sp], #32 136591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x8b,0xdf,0x4c] 137dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v0.2d, v1.2d }, [x0], #32 138591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x8c,0xdf,0x4c] 139dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v0.8b, v1.8b }, [x0], x2 140591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x80,0xc2,0x0c] 141dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v15.4h, v16.4h }, [x15], x3 142591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x85,0xc3,0x0c] 143dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld2 { v31.2s, v0.2s }, [sp], #16 144591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x8b,0xdf,0x0c] 145591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 146591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 147591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 3-element structures from three consecutive registers 148591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 149591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 150dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld3 { v0.16b, v1.16b, v2.16b }, [x0], x1 151dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld3 { v15.8h, v16.8h, v17.8h }, [x15], x2 152dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld3 { v31.4s, v0.4s, v1.4s }, [sp], #48 153dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld3 { v0.2d, v1.2d, v2.2d }, [x0], #48 154dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld3 { v0.8b, v1.8b, v2.8b }, [x0], x2 155dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld3 { v15.4h, v16.4h, v17.4h }, [x15], x3 156dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld3 { v31.2s, v0.2s, v1.2s }, [sp], #24 157dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v0.16b, v1.16b, v2.16b }, [x0], x1 158591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x40,0xc1,0x4c] 159dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v15.8h, v16.8h, v17.8h }, [x15], x2 160591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x45,0xc2,0x4c] 161dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v31.4s, v0.4s, v1.4s }, [sp], #48 162591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x4b,0xdf,0x4c] 163dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v0.2d, v1.2d, v2.2d }, [x0], #48 164591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x4c,0xdf,0x4c] 165dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v0.8b, v1.8b, v2.8b }, [x0], x2 166591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x40,0xc2,0x0c] 167dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v15.4h, v16.4h, v17.4h }, [x15], x3 168591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x45,0xc3,0x0c] 169dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld3 { v31.2s, v0.2s, v1.2s }, [sp], #24 170591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x4b,0xdf,0x0c] 171591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 172591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 173591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Load multiple 4-element structures from four consecutive registers 174591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 175591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 176dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 177dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 178dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 179dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 180dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 181dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 182dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 183dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 184591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x00,0xc1,0x4c] 185dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 186591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x05,0xc2,0x4c] 187dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 188591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x0b,0xdf,0x4c] 189dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 190591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x0c,0xdf,0x4c] 191dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 192591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x00,0xc3,0x0c] 193dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 194591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x05,0xc4,0x0c] 195dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: ld4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 196591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x0b,0xdf,0x0c] 197591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 198591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 199591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from one register (post-index) 200591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 201dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.16b }, [x0], x1 202dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.8h }, [x15], x2 203dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.4s }, [sp], #16 204dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.2d }, [x0], #16 205dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.8b }, [x0], x2 206dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.4h }, [x15], x3 207dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.2s }, [sp], #8 208dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.1d }, [x0], #8 209dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b }, [x0], x1 210591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x70,0x81,0x4c] 211dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h }, [x15], x2 212591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x75,0x82,0x4c] 213dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s }, [sp], #16 214591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x7b,0x9f,0x4c] 215dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d }, [x0], #16 216591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x7c,0x9f,0x4c] 217dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b }, [x0], x2 218591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x70,0x82,0x0c] 219dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h }, [x15], x3 220591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x75,0x83,0x0c] 221dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s }, [sp], #8 222591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x7b,0x9f,0x0c] 223dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d }, [x0], #8 224591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x7c,0x9f,0x0c] 225591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 226591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 227591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from two consecutive registers 228591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 229591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 230dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.16b, v1.16b }, [x0], x1 231dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.8h, v16.8h }, [x15], x2 232dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.4s, v0.4s }, [sp], #32 233dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.2d, v1.2d }, [x0], #32 234dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.8b, v1.8b }, [x0], x2 235dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.4h, v16.4h }, [x15], x3 236dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.2s, v0.2s }, [sp], #16 237dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.1d, v1.1d }, [x0], #16 238dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b, v1.16b }, [x0], x1 239591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xa0,0x81,0x4c] 240dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h, v16.8h }, [x15], x2 241591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0xa5,0x82,0x4c] 242dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s, v0.4s }, [sp], #32 243591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0xab,0x9f,0x4c] 244dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d, v1.2d }, [x0], #32 245591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xac,0x9f,0x4c] 246dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b, v1.8b }, [x0], x2 247591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xa0,0x82,0x0c] 248dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h, v16.4h }, [x15], x3 249591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0xa5,0x83,0x0c] 250dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s, v0.2s }, [sp], #16 251591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0xab,0x9f,0x0c] 252dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d, v1.1d }, [x0], #16 253591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0xac,0x9f,0x0c] 254591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 255591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 256591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from three consecutive registers 257591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 258591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 259dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.16b, v1.16b, v2.16b }, [x0], x1 260dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.8h, v16.8h, v17.8h }, [x15], x2 261dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.4s, v0.4s, v1.4s }, [sp], #48 262dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 263dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.8b, v1.8b, v2.8b }, [x0], x2 264dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.4h, v16.4h, v17.4h }, [x15], x3 265dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.2s, v0.2s, v1.2s }, [sp], #24 266dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.1d, v1.1d, v2.1d }, [x0], #24 267dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b, v1.16b, v2.16b }, [x0], x1 268591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x60,0x81,0x4c] 269dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h, v16.8h, v17.8h }, [x15], x2 270591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x65,0x82,0x4c] 271dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s, v0.4s, v1.4s }, [sp], #48 272591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x6b,0x9f,0x4c] 273dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d, v1.2d, v2.2d }, [x0], #48 274591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x6c,0x9f,0x4c] 275dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b, v1.8b, v2.8b }, [x0], x2 276591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x60,0x82,0x0c] 277dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h, v16.4h, v17.4h }, [x15], x3 278591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x65,0x83,0x0c] 279dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s, v0.2s, v1.2s }, [sp], #24 280591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x6b,0x9f,0x0c] 281dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d, v1.1d, v2.1d }, [x0], #24 282591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x6c,0x9f,0x0c] 283591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 284591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 285591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 1-element structures from four consecutive registers 286591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 287591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 288dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 289dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 290dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 291dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 292dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 293dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 294dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 295dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32 296dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 297591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x20,0x81,0x4c] 298dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 299591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x25,0x82,0x4c] 300dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 301591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x2b,0x9f,0x4c] 302dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 303591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x2c,0x9f,0x4c] 304dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 305591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x20,0x83,0x0c] 306dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 307591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x25,0x84,0x0c] 308dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 309591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x2b,0x9f,0x0c] 310dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st1 { v0.1d, v1.1d, v2.1d, v3.1d }, [x0], #32 311591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x2c,0x9f,0x0c] 312591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 313591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 314591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 2-element structures from two consecutive registers 315591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 316591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 317dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st2 { v0.16b, v1.16b }, [x0], x1 318dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st2 { v15.8h, v16.8h }, [x15], x2 319dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st2 { v31.4s, v0.4s }, [sp], #32 320dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st2 { v0.2d, v1.2d }, [x0], #32 321dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st2 { v0.8b, v1.8b }, [x0], x2 322dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st2 { v15.4h, v16.4h }, [x15], x3 323dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st2 { v31.2s, v0.2s }, [sp], #16 324dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v0.16b, v1.16b }, [x0], x1 325591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x80,0x81,0x4c] 326dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v15.8h, v16.8h }, [x15], x2 327591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x85,0x82,0x4c] 328dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v31.4s, v0.4s }, [sp], #32 329591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x8b,0x9f,0x4c] 330dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v0.2d, v1.2d }, [x0], #32 331591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x8c,0x9f,0x4c] 332dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v0.8b, v1.8b }, [x0], x2 333591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x80,0x82,0x0c] 334dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v15.4h, v16.4h }, [x15], x3 335591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x85,0x83,0x0c] 336dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st2 { v31.2s, v0.2s }, [sp], #16 337591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x8b,0x9f,0x0c] 338591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 339591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 340591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 3-element structures from three consecutive registers 341591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 342591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 343dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st3 { v0.16b, v1.16b, v2.16b }, [x0], x1 344dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st3 { v15.8h, v16.8h, v17.8h }, [x15], x2 345dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st3 { v31.4s, v0.4s, v1.4s }, [sp], #48 346dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st3 { v0.2d, v1.2d, v2.2d }, [x0], #48 347dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st3 { v0.8b, v1.8b, v2.8b }, [x0], x2 348dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st3 { v15.4h, v16.4h, v17.4h }, [x15], x3 349dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st3 { v31.2s, v0.2s, v1.2s }, [sp], #24 350dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v0.16b, v1.16b, v2.16b }, [x0], x1 351591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x40,0x81,0x4c] 352dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v15.8h, v16.8h, v17.8h }, [x15], x2 353591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x45,0x82,0x4c] 354dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v31.4s, v0.4s, v1.4s }, [sp], #48 355591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x4b,0x9f,0x4c] 356dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v0.2d, v1.2d, v2.2d }, [x0], #48 357591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x4c,0x9f,0x4c] 358dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v0.8b, v1.8b, v2.8b }, [x0], x2 359591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x40,0x82,0x0c] 360dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v15.4h, v16.4h, v17.4h }, [x15], x3 361591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x45,0x83,0x0c] 362dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st3 { v31.2s, v0.2s, v1.2s }, [sp], #24 363591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x4b,0x9f,0x0c] 364591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu 365591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 366591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// Store multiple 4-element structures from four consecutive registers 367591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// (post-index) 368591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu//------------------------------------------------------------------------------ 369dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 370dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 371dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 372dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 373dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 374dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 375dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 376dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v0.16b, v1.16b, v2.16b, v3.16b }, [x0], x1 377591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x00,0x81,0x4c] 378dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v15.8h, v16.8h, v17.8h, v18.8h }, [x15], x2 379591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x05,0x82,0x4c] 380dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v31.4s, v0.4s, v1.4s, v2.4s }, [sp], #64 381591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x0b,0x9f,0x4c] 382dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 383591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x0c,0x9f,0x4c] 384dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0], x3 385591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0x00,0x00,0x83,0x0c] 386dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v15.4h, v16.4h, v17.4h, v18.4h }, [x15], x4 387591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xef,0x05,0x84,0x0c] 388dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: st4 { v31.2s, v0.2s, v1.2s, v2.2s }, [sp], #32 389591c2f738a3e12026ff5504a486d54fc21fb3049Hao Liu// CHECK: // encoding: [0xff,0x0b,0x9f,0x0c] 390