1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=thumbv8.1-m.main-none-none-eabi -mcpu=cortex-m55 -instruction-tables < %s | FileCheck %s 3 4vldrb.8 q1, [r0, 0] 5vldrb.8 q1, [r0, 0]! 6vldrb.8 q1, [r0], 0 7vldrh.16 q1, [r0, 0] 8vldrh.16 q1, [r0, 0]! 9vldrh.16 q1, [r0], 0 10vldrw.32 q1, [r0, 0] 11vldrw.32 q1, [r0, 0]! 12vldrw.32 q1, [r0], 0 13 14vldrb.u16 q1, [r0, 0] 15vldrb.u16 q1, [r0, 0]! 16vldrb.u16 q1, [r0], 0 17vldrb.u32 q1, [r0, 0] 18vldrb.u32 q1, [r0, 0]! 19vldrb.u32 q1, [r0], 0 20vldrh.u32 q1, [r0, 0] 21vldrh.u32 q1, [r0, 0]! 22vldrh.u32 q1, [r0], 0 23 24vldrb.s16 q1, [r0, 4] 25vldrb.s16 q1, [r0, 4]! 26vldrb.s16 q1, [r0], 4 27vldrb.s32 q1, [r0, 4] 28vldrb.s32 q1, [r0, 4]! 29vldrb.s32 q1, [r0], 4 30vldrh.s32 q1, [r0, 4] 31vldrh.s32 q1, [r0, 4]! 32vldrh.s32 q1, [r0], 4 33 34vldrw.32 q1, [r0, q0] 35vldrh.16 q1, [r0, q0] 36vldrb.8 q1, [r0, q0] 37vldrb.u16 q1, [r0, q0] 38vldrb.u32 q1, [r0, q0] 39vldrh.u32 q1, [r0, q0] 40vldrb.s16 q1, [r0, q0] 41vldrb.s32 q1, [r0, q0] 42vldrh.s32 q1, [r0, q0] 43vldrw.32 q1, [r0, q0, uxtw #2] 44vldrh.16 q1, [r0, q0, uxtw #1] 45vldrh.u32 q1, [r0, q0, uxtw #1] 46vldrh.s32 q1, [r0, q0, uxtw #1] 47 48vldrw.32 q1, [q0, 4] 49vldrw.32 q1, [q0, 4]! 50 51vld20.8 {q0, q1}, [r0] 52vld21.8 {q0, q1}, [r0]! 53vld40.8 {q0, q1, q2, q3}, [r0] 54vld43.8 {q0, q1, q2, q3}, [r0]! 55vld20.16 {q0, q1}, [r0] 56vld21.16 {q0, q1}, [r0]! 57vld40.16 {q0, q1, q2, q3}, [r0] 58vld43.16 {q0, q1, q2, q3}, [r0]! 59vld20.32 {q0, q1}, [r0] 60vld21.32 {q0, q1}, [r0]! 61vld40.32 {q0, q1, q2, q3}, [r0] 62vld43.32 {q0, q1, q2, q3}, [r0]! 63 64vstrb.8 q1, [r0, 0] 65vstrb.8 q1, [r0, 0]! 66vstrb.8 q1, [r0], 0 67vstrh.16 q1, [r0, 0] 68vstrh.16 q1, [r0, 0]! 69vstrh.16 q1, [r0], 0 70vstrw.32 q1, [r0, 0] 71vstrw.32 q1, [r0, 0]! 72vstrw.32 q1, [r0], 0 73 74vstrb.16 q1, [r0, 0] 75vstrb.16 q1, [r0, 0]! 76vstrb.16 q1, [r0], 0 77vstrb.32 q1, [r0, 0] 78vstrb.32 q1, [r0, 0]! 79vstrb.32 q1, [r0], 0 80vstrh.32 q1, [r0, 0] 81vstrh.32 q1, [r0, 0]! 82vstrh.32 q1, [r0], 0 83 84vstrw.32 q1, [r0, q0] 85vstrh.16 q1, [r0, q0] 86vstrb.8 q1, [r0, q0] 87vstrb.16 q1, [r0, q0] 88vstrb.32 q1, [r0, q0] 89vstrh.32 q1, [r0, q0] 90 91vstrw.32 q1, [r0, q0, uxtw #2] 92vstrh.16 q1, [r0, q0, uxtw #1] 93vstrh.32 q1, [r0, q0, uxtw #1] 94 95vstrw.32 q1, [q0, 4] 96vstrw.32 q1, [q0, 4]! 97 98vst20.8 {q0, q1}, [r0] 99vst21.8 {q0, q1}, [r0]! 100vst40.8 {q0, q1, q2, q3}, [r0] 101vst43.8 {q0, q1, q2, q3}, [r0]! 102vst20.16 {q0, q1}, [r0] 103vst21.16 {q0, q1}, [r0]! 104vst40.16 {q0, q1, q2, q3}, [r0] 105vst43.16 {q0, q1, q2, q3}, [r0]! 106vst20.32 {q0, q1}, [r0] 107vst21.32 {q0, q1}, [r0]! 108vst40.32 {q0, q1, q2, q3}, [r0] 109vst43.32 {q0, q1, q2, q3}, [r0]! 110 111# CHECK: Instruction Info: 112# CHECK-NEXT: [1]: #uOps 113# CHECK-NEXT: [2]: Latency 114# CHECK-NEXT: [3]: RThroughput 115# CHECK-NEXT: [4]: MayLoad 116# CHECK-NEXT: [5]: MayStore 117# CHECK-NEXT: [6]: HasSideEffects (U) 118 119# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 120# CHECK-NEXT: 1 1 2.00 * vldrb.u8 q1, [r0] 121# CHECK-NEXT: 1 1 2.00 * vldrb.u8 q1, [r0, #0]! 122# CHECK-NEXT: 1 1 2.00 * vldrb.u8 q1, [r0], #0 123# CHECK-NEXT: 1 1 2.00 * vldrh.u16 q1, [r0] 124# CHECK-NEXT: 1 1 2.00 * vldrh.u16 q1, [r0, #0]! 125# CHECK-NEXT: 1 1 2.00 * vldrh.u16 q1, [r0], #0 126# CHECK-NEXT: 1 1 2.00 * vldrw.u32 q1, [r0] 127# CHECK-NEXT: 1 1 2.00 * vldrw.u32 q1, [r0, #0]! 128# CHECK-NEXT: 1 1 2.00 * vldrw.u32 q1, [r0], #0 129# CHECK-NEXT: 1 1 2.00 * vldrb.u16 q1, [r0] 130# CHECK-NEXT: 1 1 2.00 * vldrb.u16 q1, [r0]! 131# CHECK-NEXT: 1 1 2.00 * vldrb.u16 q1, [r0], #0 132# CHECK-NEXT: 1 1 2.00 * vldrb.u32 q1, [r0] 133# CHECK-NEXT: 1 1 2.00 * vldrb.u32 q1, [r0]! 134# CHECK-NEXT: 1 1 2.00 * vldrb.u32 q1, [r0], #0 135# CHECK-NEXT: 1 1 2.00 * vldrh.u32 q1, [r0] 136# CHECK-NEXT: 1 1 2.00 * vldrh.u32 q1, [r0]! 137# CHECK-NEXT: 1 1 2.00 * vldrh.u32 q1, [r0], #0 138# CHECK-NEXT: 1 1 2.00 * vldrb.s16 q1, [r0, #4] 139# CHECK-NEXT: 1 1 2.00 * vldrb.s16 q1, [r0, #4]! 140# CHECK-NEXT: 1 1 2.00 * vldrb.s16 q1, [r0], #4 141# CHECK-NEXT: 1 1 2.00 * vldrb.s32 q1, [r0, #4] 142# CHECK-NEXT: 1 1 2.00 * vldrb.s32 q1, [r0, #4]! 143# CHECK-NEXT: 1 1 2.00 * vldrb.s32 q1, [r0], #4 144# CHECK-NEXT: 1 1 2.00 * vldrh.s32 q1, [r0, #4] 145# CHECK-NEXT: 1 1 2.00 * vldrh.s32 q1, [r0, #4]! 146# CHECK-NEXT: 1 1 2.00 * vldrh.s32 q1, [r0], #4 147# CHECK-NEXT: 1 6 2.00 * vldrw.u32 q1, [r0, q0] 148# CHECK-NEXT: 1 6 2.00 * vldrh.u16 q1, [r0, q0] 149# CHECK-NEXT: 1 6 2.00 * vldrb.u8 q1, [r0, q0] 150# CHECK-NEXT: 1 6 2.00 * vldrb.u16 q1, [r0, q0] 151# CHECK-NEXT: 1 6 2.00 * vldrb.u32 q1, [r0, q0] 152# CHECK-NEXT: 1 6 2.00 * vldrh.u32 q1, [r0, q0] 153# CHECK-NEXT: 1 6 2.00 * vldrb.s16 q1, [r0, q0] 154# CHECK-NEXT: 1 6 2.00 * vldrb.s32 q1, [r0, q0] 155# CHECK-NEXT: 1 6 2.00 * vldrh.s32 q1, [r0, q0] 156# CHECK-NEXT: 1 6 2.00 * vldrw.u32 q1, [r0, q0, uxtw #2] 157# CHECK-NEXT: 1 6 2.00 * vldrh.u16 q1, [r0, q0, uxtw #1] 158# CHECK-NEXT: 1 6 2.00 * vldrh.u32 q1, [r0, q0, uxtw #1] 159# CHECK-NEXT: 1 6 2.00 * vldrh.s32 q1, [r0, q0, uxtw #1] 160# CHECK-NEXT: 1 6 2.00 * vldrw.u32 q1, [q0, #4] 161# CHECK-NEXT: 1 6 2.00 * vldrw.u32 q1, [q0, #4]! 162# CHECK-NEXT: 1 1 2.00 * vld20.8 {q0, q1}, [r0] 163# CHECK-NEXT: 1 1 2.00 * vld21.8 {q0, q1}, [r0]! 164# CHECK-NEXT: 1 1 2.00 * vld40.8 {q0, q1, q2, q3}, [r0] 165# CHECK-NEXT: 1 1 2.00 * vld43.8 {q0, q1, q2, q3}, [r0]! 166# CHECK-NEXT: 1 1 2.00 * vld20.16 {q0, q1}, [r0] 167# CHECK-NEXT: 1 1 2.00 * vld21.16 {q0, q1}, [r0]! 168# CHECK-NEXT: 1 1 2.00 * vld40.16 {q0, q1, q2, q3}, [r0] 169# CHECK-NEXT: 1 1 2.00 * vld43.16 {q0, q1, q2, q3}, [r0]! 170# CHECK-NEXT: 1 1 2.00 * vld20.32 {q0, q1}, [r0] 171# CHECK-NEXT: 1 1 2.00 * vld21.32 {q0, q1}, [r0]! 172# CHECK-NEXT: 1 1 2.00 * vld40.32 {q0, q1, q2, q3}, [r0] 173# CHECK-NEXT: 1 1 2.00 * vld43.32 {q0, q1, q2, q3}, [r0]! 174# CHECK-NEXT: 1 1 2.00 * vstrb.8 q1, [r0] 175# CHECK-NEXT: 1 1 2.00 * vstrb.8 q1, [r0, #0]! 176# CHECK-NEXT: 1 1 2.00 * vstrb.8 q1, [r0], #0 177# CHECK-NEXT: 1 1 2.00 * vstrh.16 q1, [r0] 178# CHECK-NEXT: 1 1 2.00 * vstrh.16 q1, [r0, #0]! 179# CHECK-NEXT: 1 1 2.00 * vstrh.16 q1, [r0], #0 180# CHECK-NEXT: 1 1 2.00 * vstrw.32 q1, [r0] 181# CHECK-NEXT: 1 1 2.00 * vstrw.32 q1, [r0, #0]! 182# CHECK-NEXT: 1 1 2.00 * vstrw.32 q1, [r0], #0 183# CHECK-NEXT: 1 1 2.00 * vstrb.16 q1, [r0] 184# CHECK-NEXT: 1 1 2.00 * vstrb.16 q1, [r0]! 185# CHECK-NEXT: 1 1 2.00 * vstrb.16 q1, [r0], #0 186# CHECK-NEXT: 1 1 2.00 * vstrb.32 q1, [r0] 187# CHECK-NEXT: 1 1 2.00 * vstrb.32 q1, [r0]! 188# CHECK-NEXT: 1 1 2.00 * vstrb.32 q1, [r0], #0 189# CHECK-NEXT: 1 1 2.00 * vstrh.32 q1, [r0] 190# CHECK-NEXT: 1 1 2.00 * vstrh.32 q1, [r0]! 191# CHECK-NEXT: 1 1 2.00 * vstrh.32 q1, [r0], #0 192# CHECK-NEXT: 1 5 2.00 * vstrw.32 q1, [r0, q0] 193# CHECK-NEXT: 1 5 2.00 * vstrh.16 q1, [r0, q0] 194# CHECK-NEXT: 1 5 2.00 * vstrb.8 q1, [r0, q0] 195# CHECK-NEXT: 1 5 2.00 * vstrb.16 q1, [r0, q0] 196# CHECK-NEXT: 1 5 2.00 * vstrb.32 q1, [r0, q0] 197# CHECK-NEXT: 1 5 2.00 * vstrh.32 q1, [r0, q0] 198# CHECK-NEXT: 1 5 2.00 * vstrw.32 q1, [r0, q0, uxtw #2] 199# CHECK-NEXT: 1 5 2.00 * vstrh.16 q1, [r0, q0, uxtw #1] 200# CHECK-NEXT: 1 5 2.00 * vstrh.32 q1, [r0, q0, uxtw #1] 201# CHECK-NEXT: 1 5 2.00 * vstrw.32 q1, [q0, #4] 202# CHECK-NEXT: 1 5 2.00 * vstrw.32 q1, [q0, #4]! 203# CHECK-NEXT: 1 1 2.00 * vst20.8 {q0, q1}, [r0] 204# CHECK-NEXT: 1 1 2.00 * vst21.8 {q0, q1}, [r0]! 205# CHECK-NEXT: 1 1 2.00 * vst40.8 {q0, q1, q2, q3}, [r0] 206# CHECK-NEXT: 1 1 2.00 * vst43.8 {q0, q1, q2, q3}, [r0]! 207# CHECK-NEXT: 1 1 2.00 * vst20.16 {q0, q1}, [r0] 208# CHECK-NEXT: 1 1 2.00 * vst21.16 {q0, q1}, [r0]! 209# CHECK-NEXT: 1 1 2.00 * vst40.16 {q0, q1, q2, q3}, [r0] 210# CHECK-NEXT: 1 1 2.00 * vst43.16 {q0, q1, q2, q3}, [r0]! 211# CHECK-NEXT: 1 1 2.00 * vst20.32 {q0, q1}, [r0] 212# CHECK-NEXT: 1 1 2.00 * vst21.32 {q0, q1}, [r0]! 213# CHECK-NEXT: 1 1 2.00 * vst40.32 {q0, q1, q2, q3}, [r0] 214# CHECK-NEXT: 1 1 2.00 * vst43.32 {q0, q1, q2, q3}, [r0]! 215 216# CHECK: Resources: 217# CHECK-NEXT: [0] - M55UnitALU 218# CHECK-NEXT: [1] - M55UnitLoadStore 219# CHECK-NEXT: [2] - M55UnitVecALU 220# CHECK-NEXT: [3] - M55UnitVecFPALU 221# CHECK-NEXT: [4] - M55UnitVecSys 222 223# CHECK: Resource pressure per iteration: 224# CHECK-NEXT: [0] [1] [2] [3] [4] 225# CHECK-NEXT: - 190.00 - - - 226 227# CHECK: Resource pressure by instruction: 228# CHECK-NEXT: [0] [1] [2] [3] [4] Instructions: 229# CHECK-NEXT: - 2.00 - - - vldrb.u8 q1, [r0] 230# CHECK-NEXT: - 2.00 - - - vldrb.u8 q1, [r0, #0]! 231# CHECK-NEXT: - 2.00 - - - vldrb.u8 q1, [r0], #0 232# CHECK-NEXT: - 2.00 - - - vldrh.u16 q1, [r0] 233# CHECK-NEXT: - 2.00 - - - vldrh.u16 q1, [r0, #0]! 234# CHECK-NEXT: - 2.00 - - - vldrh.u16 q1, [r0], #0 235# CHECK-NEXT: - 2.00 - - - vldrw.u32 q1, [r0] 236# CHECK-NEXT: - 2.00 - - - vldrw.u32 q1, [r0, #0]! 237# CHECK-NEXT: - 2.00 - - - vldrw.u32 q1, [r0], #0 238# CHECK-NEXT: - 2.00 - - - vldrb.u16 q1, [r0] 239# CHECK-NEXT: - 2.00 - - - vldrb.u16 q1, [r0]! 240# CHECK-NEXT: - 2.00 - - - vldrb.u16 q1, [r0], #0 241# CHECK-NEXT: - 2.00 - - - vldrb.u32 q1, [r0] 242# CHECK-NEXT: - 2.00 - - - vldrb.u32 q1, [r0]! 243# CHECK-NEXT: - 2.00 - - - vldrb.u32 q1, [r0], #0 244# CHECK-NEXT: - 2.00 - - - vldrh.u32 q1, [r0] 245# CHECK-NEXT: - 2.00 - - - vldrh.u32 q1, [r0]! 246# CHECK-NEXT: - 2.00 - - - vldrh.u32 q1, [r0], #0 247# CHECK-NEXT: - 2.00 - - - vldrb.s16 q1, [r0, #4] 248# CHECK-NEXT: - 2.00 - - - vldrb.s16 q1, [r0, #4]! 249# CHECK-NEXT: - 2.00 - - - vldrb.s16 q1, [r0], #4 250# CHECK-NEXT: - 2.00 - - - vldrb.s32 q1, [r0, #4] 251# CHECK-NEXT: - 2.00 - - - vldrb.s32 q1, [r0, #4]! 252# CHECK-NEXT: - 2.00 - - - vldrb.s32 q1, [r0], #4 253# CHECK-NEXT: - 2.00 - - - vldrh.s32 q1, [r0, #4] 254# CHECK-NEXT: - 2.00 - - - vldrh.s32 q1, [r0, #4]! 255# CHECK-NEXT: - 2.00 - - - vldrh.s32 q1, [r0], #4 256# CHECK-NEXT: - 2.00 - - - vldrw.u32 q1, [r0, q0] 257# CHECK-NEXT: - 2.00 - - - vldrh.u16 q1, [r0, q0] 258# CHECK-NEXT: - 2.00 - - - vldrb.u8 q1, [r0, q0] 259# CHECK-NEXT: - 2.00 - - - vldrb.u16 q1, [r0, q0] 260# CHECK-NEXT: - 2.00 - - - vldrb.u32 q1, [r0, q0] 261# CHECK-NEXT: - 2.00 - - - vldrh.u32 q1, [r0, q0] 262# CHECK-NEXT: - 2.00 - - - vldrb.s16 q1, [r0, q0] 263# CHECK-NEXT: - 2.00 - - - vldrb.s32 q1, [r0, q0] 264# CHECK-NEXT: - 2.00 - - - vldrh.s32 q1, [r0, q0] 265# CHECK-NEXT: - 2.00 - - - vldrw.u32 q1, [r0, q0, uxtw #2] 266# CHECK-NEXT: - 2.00 - - - vldrh.u16 q1, [r0, q0, uxtw #1] 267# CHECK-NEXT: - 2.00 - - - vldrh.u32 q1, [r0, q0, uxtw #1] 268# CHECK-NEXT: - 2.00 - - - vldrh.s32 q1, [r0, q0, uxtw #1] 269# CHECK-NEXT: - 2.00 - - - vldrw.u32 q1, [q0, #4] 270# CHECK-NEXT: - 2.00 - - - vldrw.u32 q1, [q0, #4]! 271# CHECK-NEXT: - 2.00 - - - vld20.8 {q0, q1}, [r0] 272# CHECK-NEXT: - 2.00 - - - vld21.8 {q0, q1}, [r0]! 273# CHECK-NEXT: - 2.00 - - - vld40.8 {q0, q1, q2, q3}, [r0] 274# CHECK-NEXT: - 2.00 - - - vld43.8 {q0, q1, q2, q3}, [r0]! 275# CHECK-NEXT: - 2.00 - - - vld20.16 {q0, q1}, [r0] 276# CHECK-NEXT: - 2.00 - - - vld21.16 {q0, q1}, [r0]! 277# CHECK-NEXT: - 2.00 - - - vld40.16 {q0, q1, q2, q3}, [r0] 278# CHECK-NEXT: - 2.00 - - - vld43.16 {q0, q1, q2, q3}, [r0]! 279# CHECK-NEXT: - 2.00 - - - vld20.32 {q0, q1}, [r0] 280# CHECK-NEXT: - 2.00 - - - vld21.32 {q0, q1}, [r0]! 281# CHECK-NEXT: - 2.00 - - - vld40.32 {q0, q1, q2, q3}, [r0] 282# CHECK-NEXT: - 2.00 - - - vld43.32 {q0, q1, q2, q3}, [r0]! 283# CHECK-NEXT: - 2.00 - - - vstrb.8 q1, [r0] 284# CHECK-NEXT: - 2.00 - - - vstrb.8 q1, [r0, #0]! 285# CHECK-NEXT: - 2.00 - - - vstrb.8 q1, [r0], #0 286# CHECK-NEXT: - 2.00 - - - vstrh.16 q1, [r0] 287# CHECK-NEXT: - 2.00 - - - vstrh.16 q1, [r0, #0]! 288# CHECK-NEXT: - 2.00 - - - vstrh.16 q1, [r0], #0 289# CHECK-NEXT: - 2.00 - - - vstrw.32 q1, [r0] 290# CHECK-NEXT: - 2.00 - - - vstrw.32 q1, [r0, #0]! 291# CHECK-NEXT: - 2.00 - - - vstrw.32 q1, [r0], #0 292# CHECK-NEXT: - 2.00 - - - vstrb.16 q1, [r0] 293# CHECK-NEXT: - 2.00 - - - vstrb.16 q1, [r0]! 294# CHECK-NEXT: - 2.00 - - - vstrb.16 q1, [r0], #0 295# CHECK-NEXT: - 2.00 - - - vstrb.32 q1, [r0] 296# CHECK-NEXT: - 2.00 - - - vstrb.32 q1, [r0]! 297# CHECK-NEXT: - 2.00 - - - vstrb.32 q1, [r0], #0 298# CHECK-NEXT: - 2.00 - - - vstrh.32 q1, [r0] 299# CHECK-NEXT: - 2.00 - - - vstrh.32 q1, [r0]! 300# CHECK-NEXT: - 2.00 - - - vstrh.32 q1, [r0], #0 301# CHECK-NEXT: - 2.00 - - - vstrw.32 q1, [r0, q0] 302# CHECK-NEXT: - 2.00 - - - vstrh.16 q1, [r0, q0] 303# CHECK-NEXT: - 2.00 - - - vstrb.8 q1, [r0, q0] 304# CHECK-NEXT: - 2.00 - - - vstrb.16 q1, [r0, q0] 305# CHECK-NEXT: - 2.00 - - - vstrb.32 q1, [r0, q0] 306# CHECK-NEXT: - 2.00 - - - vstrh.32 q1, [r0, q0] 307# CHECK-NEXT: - 2.00 - - - vstrw.32 q1, [r0, q0, uxtw #2] 308# CHECK-NEXT: - 2.00 - - - vstrh.16 q1, [r0, q0, uxtw #1] 309# CHECK-NEXT: - 2.00 - - - vstrh.32 q1, [r0, q0, uxtw #1] 310# CHECK-NEXT: - 2.00 - - - vstrw.32 q1, [q0, #4] 311# CHECK-NEXT: - 2.00 - - - vstrw.32 q1, [q0, #4]! 312# CHECK-NEXT: - 2.00 - - - vst20.8 {q0, q1}, [r0] 313# CHECK-NEXT: - 2.00 - - - vst21.8 {q0, q1}, [r0]! 314# CHECK-NEXT: - 2.00 - - - vst40.8 {q0, q1, q2, q3}, [r0] 315# CHECK-NEXT: - 2.00 - - - vst43.8 {q0, q1, q2, q3}, [r0]! 316# CHECK-NEXT: - 2.00 - - - vst20.16 {q0, q1}, [r0] 317# CHECK-NEXT: - 2.00 - - - vst21.16 {q0, q1}, [r0]! 318# CHECK-NEXT: - 2.00 - - - vst40.16 {q0, q1, q2, q3}, [r0] 319# CHECK-NEXT: - 2.00 - - - vst43.16 {q0, q1, q2, q3}, [r0]! 320# CHECK-NEXT: - 2.00 - - - vst20.32 {q0, q1}, [r0] 321# CHECK-NEXT: - 2.00 - - - vst21.32 {q0, q1}, [r0]! 322# CHECK-NEXT: - 2.00 - - - vst40.32 {q0, q1, q2, q3}, [r0] 323# CHECK-NEXT: - 2.00 - - - vst43.32 {q0, q1, q2, q3}, [r0]! 324