1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=aarch64 -mcpu=cortex-a55 -timeline -timeline-max-iterations=1 -timeline-max-cycles=1000 < %s | FileCheck %s 3 4# This test demonstrates the latency into a store address operand. 5 6add x2, x3, #1 7str b0, [x2, #16] 8add x2, x3, #1 9str b0, [x2, #16]! 10add x2, x3, #1 11str b0, [x2], #16 12add x2, x3, #1 13str d0, [x2], #16 14add x2, x3, #1 15str d0, [x2, #16]! 16add x2, x3, #1 17str d0, [x2, #16] 18add x2, x3, #1 19str h0, [x2], #16 20add x2, x3, #1 21str h0, [x2, #16]! 22add x2, x3, #1 23str h0, [x2, #16] 24add x2, x3, #1 25str q0, [x2], #16 26add x2, x3, #1 27str q0, [x2, #16]! 28add x2, x3, #1 29str q0, [x2, #16] 30add x2, x3, #1 31str s0, [x2], #16 32add x2, x3, #1 33str s0, [x2, #16]! 34add x2, x3, #1 35str s0, [x2, #16] 36add x2, x3, #1 37str w0, [x2], #16 38add x2, x3, #1 39str w0, [x2, #16]! 40add x2, x3, #1 41str w0, [x2, #16] 42add x2, x3, #1 43str x0, [x2], #16 44add x2, x3, #1 45str x0, [x2, #16]! 46add x2, x3, #1 47str x0, [x2, #16] 48add x2, x3, #1 49strb w0, [x2], #16 50add x2, x3, #1 51strb w0, [x2, #16]! 52add x2, x3, #1 53strb w0, [x2, #16] 54add x2, x3, #1 55strh w0, [x2], #16 56add x2, x3, #1 57strh w0, [x2, #16]! 58add x2, x3, #1 59strh w0, [x2, #16] 60add x2, x3, #1 61str d0, [x2, x2, lsl #3] 62add x2, x3, #1 63str q0, [x2, w0, sxtw] 64add x2, x3, #1 65str w0, [x2, w0, sxtw] 66add x2, x3, #1 67str x0, [x2, w0, sxtw] 68add x2, x3, #1 69strb w0, [x2, w0, sxtw] 70add x2, x3, #1 71strh w0, [x2, w0, sxtw] 72add x2, x3, #1 73stur b0, [x2, #255] 74add x2, x3, #1 75stur d0, [x2, #255] 76add x2, x3, #1 77stur h0, [x2, #255] 78add x2, x3, #1 79stur q0, [x2, #255] 80add x2, x3, #1 81stur s0, [x2, #255] 82add x2, x3, #1 83stur w0, [x2, #255] 84add x2, x3, #1 85sturb w0, [x2, #255] 86add x2, x3, #1 87sturh w0, [x2, #255] 88 89add x2, x3, #1 90stnp d0, d1, [x2, #16] 91add x2, x3, #1 92stnp q0, q1, [x2, #16] 93add x2, x3, #1 94stnp s0, s1, [x2, #16] 95add x2, x3, #1 96stnp s0, s1, [x2, #16] 97add x2, x3, #1 98stnp w0, w1, [x2, #16] 99add x2, x3, #1 100stnp x0, x1, [x2, #16] 101add x2, x3, #1 102stp d0, d1, [x2, #16] 103add x2, x3, #1 104stp d0, d1, [x2, #16]! 105add x2, x3, #1 106stp d0, d1, [x2], #16 107add x2, x3, #1 108stp q0, q1, [x2, #16] 109add x2, x3, #1 110stp q0, q1, [x2, #16]! 111add x2, x3, #1 112stp q0, q1, [x2], #16 113add x2, x3, #1 114stp s0, s1, [x2, #16] 115add x2, x3, #1 116stp s0, s1, [x2, #16]! 117add x2, x3, #1 118stp s0, s1, [x2], #16 119add x2, x3, #1 120stp x0, x1, [x2, #16] 121add x2, x3, #1 122stp x0, x1, [x2, #16]! 123add x2, x3, #1 124stp x0, x1, [x2], #16 125 126# CHECK: Iterations: 100 127# CHECK-NEXT: Instructions: 11800 128# CHECK-NEXT: Total Cycles: 19801 129# CHECK-NEXT: Total uOps: 14400 130 131# CHECK: Dispatch Width: 2 132# CHECK-NEXT: uOps Per Cycle: 0.73 133# CHECK-NEXT: IPC: 0.60 134# CHECK-NEXT: Block RThroughput: 72.0 135 136# CHECK: Instruction Info: 137# CHECK-NEXT: [1]: #uOps 138# CHECK-NEXT: [2]: Latency 139# CHECK-NEXT: [3]: RThroughput 140# CHECK-NEXT: [4]: MayLoad 141# CHECK-NEXT: [5]: MayStore 142# CHECK-NEXT: [6]: HasSideEffects (U) 143 144# CHECK: [1] [2] [3] [4] [5] [6] Instructions: 145# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 146# CHECK-NEXT: 1 1 1.00 * str b0, [x2, #16] 147# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 148# CHECK-NEXT: 2 1 1.00 * str b0, [x2, #16]! 149# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 150# CHECK-NEXT: 2 1 1.00 * str b0, [x2], #16 151# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 152# CHECK-NEXT: 2 1 1.00 * str d0, [x2], #16 153# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 154# CHECK-NEXT: 2 1 1.00 * str d0, [x2, #16]! 155# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 156# CHECK-NEXT: 1 1 1.00 * str d0, [x2, #16] 157# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 158# CHECK-NEXT: 2 1 1.00 * str h0, [x2], #16 159# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 160# CHECK-NEXT: 2 1 1.00 * str h0, [x2, #16]! 161# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 162# CHECK-NEXT: 1 1 1.00 * str h0, [x2, #16] 163# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 164# CHECK-NEXT: 2 1 1.00 * str q0, [x2], #16 165# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 166# CHECK-NEXT: 2 1 1.00 * str q0, [x2, #16]! 167# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 168# CHECK-NEXT: 1 1 1.00 * str q0, [x2, #16] 169# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 170# CHECK-NEXT: 2 1 1.00 * str s0, [x2], #16 171# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 172# CHECK-NEXT: 2 1 1.00 * str s0, [x2, #16]! 173# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 174# CHECK-NEXT: 1 1 1.00 * str s0, [x2, #16] 175# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 176# CHECK-NEXT: 2 1 1.00 * str w0, [x2], #16 177# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 178# CHECK-NEXT: 2 1 1.00 * str w0, [x2, #16]! 179# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 180# CHECK-NEXT: 1 1 1.00 * str w0, [x2, #16] 181# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 182# CHECK-NEXT: 2 1 1.00 * str x0, [x2], #16 183# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 184# CHECK-NEXT: 2 1 1.00 * str x0, [x2, #16]! 185# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 186# CHECK-NEXT: 1 1 1.00 * str x0, [x2, #16] 187# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 188# CHECK-NEXT: 2 1 1.00 * strb w0, [x2], #16 189# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 190# CHECK-NEXT: 2 1 1.00 * strb w0, [x2, #16]! 191# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 192# CHECK-NEXT: 1 1 1.00 * strb w0, [x2, #16] 193# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 194# CHECK-NEXT: 2 1 1.00 * strh w0, [x2], #16 195# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 196# CHECK-NEXT: 2 1 1.00 * strh w0, [x2, #16]! 197# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 198# CHECK-NEXT: 1 1 1.00 * strh w0, [x2, #16] 199# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 200# CHECK-NEXT: 1 1 1.00 * str d0, [x2, x2, lsl #3] 201# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 202# CHECK-NEXT: 1 1 1.00 * str q0, [x2, w0, sxtw] 203# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 204# CHECK-NEXT: 1 1 1.00 * str w0, [x2, w0, sxtw] 205# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 206# CHECK-NEXT: 1 1 1.00 * str x0, [x2, w0, sxtw] 207# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 208# CHECK-NEXT: 1 1 1.00 * strb w0, [x2, w0, sxtw] 209# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 210# CHECK-NEXT: 1 1 1.00 * strh w0, [x2, w0, sxtw] 211# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 212# CHECK-NEXT: 1 1 1.00 * stur b0, [x2, #255] 213# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 214# CHECK-NEXT: 1 1 1.00 * stur d0, [x2, #255] 215# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 216# CHECK-NEXT: 1 1 1.00 * stur h0, [x2, #255] 217# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 218# CHECK-NEXT: 1 1 1.00 * stur q0, [x2, #255] 219# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 220# CHECK-NEXT: 1 1 1.00 * stur s0, [x2, #255] 221# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 222# CHECK-NEXT: 1 1 1.00 * stur w0, [x2, #255] 223# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 224# CHECK-NEXT: 1 1 1.00 * sturb w0, [x2, #255] 225# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 226# CHECK-NEXT: 1 1 1.00 * sturh w0, [x2, #255] 227# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 228# CHECK-NEXT: 1 1 1.00 * stnp d0, d1, [x2, #16] 229# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 230# CHECK-NEXT: 1 1 1.00 * stnp q0, q1, [x2, #16] 231# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 232# CHECK-NEXT: 1 1 1.00 * stnp s0, s1, [x2, #16] 233# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 234# CHECK-NEXT: 1 1 1.00 * stnp s0, s1, [x2, #16] 235# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 236# CHECK-NEXT: 1 1 1.00 * stnp w0, w1, [x2, #16] 237# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 238# CHECK-NEXT: 1 1 1.00 * stnp x0, x1, [x2, #16] 239# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 240# CHECK-NEXT: 1 1 1.00 * stp d0, d1, [x2, #16] 241# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 242# CHECK-NEXT: 2 1 1.00 * stp d0, d1, [x2, #16]! 243# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 244# CHECK-NEXT: 2 1 1.00 * stp d0, d1, [x2], #16 245# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 246# CHECK-NEXT: 1 1 1.00 * stp q0, q1, [x2, #16] 247# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 248# CHECK-NEXT: 2 1 1.00 * stp q0, q1, [x2, #16]! 249# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 250# CHECK-NEXT: 2 1 1.00 * stp q0, q1, [x2], #16 251# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 252# CHECK-NEXT: 1 1 1.00 * stp s0, s1, [x2, #16] 253# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 254# CHECK-NEXT: 2 1 1.00 * stp s0, s1, [x2, #16]! 255# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 256# CHECK-NEXT: 2 1 1.00 * stp s0, s1, [x2], #16 257# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 258# CHECK-NEXT: 1 1 1.00 * stp x0, x1, [x2, #16] 259# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 260# CHECK-NEXT: 2 1 1.00 * stp x0, x1, [x2, #16]! 261# CHECK-NEXT: 1 3 0.50 add x2, x3, #1 262# CHECK-NEXT: 2 1 1.00 * stp x0, x1, [x2], #16 263 264# CHECK: Resources: 265# CHECK-NEXT: [0.0] - CortexA55UnitALU 266# CHECK-NEXT: [0.1] - CortexA55UnitALU 267# CHECK-NEXT: [1] - CortexA55UnitB 268# CHECK-NEXT: [2] - CortexA55UnitDiv 269# CHECK-NEXT: [3.0] - CortexA55UnitFPALU 270# CHECK-NEXT: [3.1] - CortexA55UnitFPALU 271# CHECK-NEXT: [4] - CortexA55UnitFPDIV 272# CHECK-NEXT: [5.0] - CortexA55UnitFPMAC 273# CHECK-NEXT: [5.1] - CortexA55UnitFPMAC 274# CHECK-NEXT: [6] - CortexA55UnitLd 275# CHECK-NEXT: [7] - CortexA55UnitMAC 276# CHECK-NEXT: [8] - CortexA55UnitSt 277 278# CHECK: Resource pressure per iteration: 279# CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4] [5.0] [5.1] [6] [7] [8] 280# CHECK-NEXT: 29.50 29.50 - - - - - - - - - 59.00 281 282# CHECK: Resource pressure by instruction: 283# CHECK-NEXT: [0.0] [0.1] [1] [2] [3.0] [3.1] [4] [5.0] [5.1] [6] [7] [8] Instructions: 284# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 285# CHECK-NEXT: - - - - - - - - - - - 1.00 str b0, [x2, #16] 286# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 287# CHECK-NEXT: - - - - - - - - - - - 1.00 str b0, [x2, #16]! 288# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 289# CHECK-NEXT: - - - - - - - - - - - 1.00 str b0, [x2], #16 290# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 291# CHECK-NEXT: - - - - - - - - - - - 1.00 str d0, [x2], #16 292# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 293# CHECK-NEXT: - - - - - - - - - - - 1.00 str d0, [x2, #16]! 294# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 295# CHECK-NEXT: - - - - - - - - - - - 1.00 str d0, [x2, #16] 296# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 297# CHECK-NEXT: - - - - - - - - - - - 1.00 str h0, [x2], #16 298# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 299# CHECK-NEXT: - - - - - - - - - - - 1.00 str h0, [x2, #16]! 300# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 301# CHECK-NEXT: - - - - - - - - - - - 1.00 str h0, [x2, #16] 302# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 303# CHECK-NEXT: - - - - - - - - - - - 1.00 str q0, [x2], #16 304# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 305# CHECK-NEXT: - - - - - - - - - - - 1.00 str q0, [x2, #16]! 306# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 307# CHECK-NEXT: - - - - - - - - - - - 1.00 str q0, [x2, #16] 308# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 309# CHECK-NEXT: - - - - - - - - - - - 1.00 str s0, [x2], #16 310# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 311# CHECK-NEXT: - - - - - - - - - - - 1.00 str s0, [x2, #16]! 312# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 313# CHECK-NEXT: - - - - - - - - - - - 1.00 str s0, [x2, #16] 314# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 315# CHECK-NEXT: - - - - - - - - - - - 1.00 str w0, [x2], #16 316# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 317# CHECK-NEXT: - - - - - - - - - - - 1.00 str w0, [x2, #16]! 318# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 319# CHECK-NEXT: - - - - - - - - - - - 1.00 str w0, [x2, #16] 320# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 321# CHECK-NEXT: - - - - - - - - - - - 1.00 str x0, [x2], #16 322# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 323# CHECK-NEXT: - - - - - - - - - - - 1.00 str x0, [x2, #16]! 324# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 325# CHECK-NEXT: - - - - - - - - - - - 1.00 str x0, [x2, #16] 326# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 327# CHECK-NEXT: - - - - - - - - - - - 1.00 strb w0, [x2], #16 328# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 329# CHECK-NEXT: - - - - - - - - - - - 1.00 strb w0, [x2, #16]! 330# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 331# CHECK-NEXT: - - - - - - - - - - - 1.00 strb w0, [x2, #16] 332# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 333# CHECK-NEXT: - - - - - - - - - - - 1.00 strh w0, [x2], #16 334# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 335# CHECK-NEXT: - - - - - - - - - - - 1.00 strh w0, [x2, #16]! 336# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 337# CHECK-NEXT: - - - - - - - - - - - 1.00 strh w0, [x2, #16] 338# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 339# CHECK-NEXT: - - - - - - - - - - - 1.00 str d0, [x2, x2, lsl #3] 340# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 341# CHECK-NEXT: - - - - - - - - - - - 1.00 str q0, [x2, w0, sxtw] 342# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 343# CHECK-NEXT: - - - - - - - - - - - 1.00 str w0, [x2, w0, sxtw] 344# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 345# CHECK-NEXT: - - - - - - - - - - - 1.00 str x0, [x2, w0, sxtw] 346# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 347# CHECK-NEXT: - - - - - - - - - - - 1.00 strb w0, [x2, w0, sxtw] 348# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 349# CHECK-NEXT: - - - - - - - - - - - 1.00 strh w0, [x2, w0, sxtw] 350# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 351# CHECK-NEXT: - - - - - - - - - - - 1.00 stur b0, [x2, #255] 352# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 353# CHECK-NEXT: - - - - - - - - - - - 1.00 stur d0, [x2, #255] 354# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 355# CHECK-NEXT: - - - - - - - - - - - 1.00 stur h0, [x2, #255] 356# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 357# CHECK-NEXT: - - - - - - - - - - - 1.00 stur q0, [x2, #255] 358# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 359# CHECK-NEXT: - - - - - - - - - - - 1.00 stur s0, [x2, #255] 360# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 361# CHECK-NEXT: - - - - - - - - - - - 1.00 stur w0, [x2, #255] 362# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 363# CHECK-NEXT: - - - - - - - - - - - 1.00 sturb w0, [x2, #255] 364# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 365# CHECK-NEXT: - - - - - - - - - - - 1.00 sturh w0, [x2, #255] 366# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 367# CHECK-NEXT: - - - - - - - - - - - 1.00 stnp d0, d1, [x2, #16] 368# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 369# CHECK-NEXT: - - - - - - - - - - - 1.00 stnp q0, q1, [x2, #16] 370# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 371# CHECK-NEXT: - - - - - - - - - - - 1.00 stnp s0, s1, [x2, #16] 372# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 373# CHECK-NEXT: - - - - - - - - - - - 1.00 stnp s0, s1, [x2, #16] 374# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 375# CHECK-NEXT: - - - - - - - - - - - 1.00 stnp w0, w1, [x2, #16] 376# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 377# CHECK-NEXT: - - - - - - - - - - - 1.00 stnp x0, x1, [x2, #16] 378# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 379# CHECK-NEXT: - - - - - - - - - - - 1.00 stp d0, d1, [x2, #16] 380# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 381# CHECK-NEXT: - - - - - - - - - - - 1.00 stp d0, d1, [x2, #16]! 382# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 383# CHECK-NEXT: - - - - - - - - - - - 1.00 stp d0, d1, [x2], #16 384# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 385# CHECK-NEXT: - - - - - - - - - - - 1.00 stp q0, q1, [x2, #16] 386# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 387# CHECK-NEXT: - - - - - - - - - - - 1.00 stp q0, q1, [x2, #16]! 388# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 389# CHECK-NEXT: - - - - - - - - - - - 1.00 stp q0, q1, [x2], #16 390# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 391# CHECK-NEXT: - - - - - - - - - - - 1.00 stp s0, s1, [x2, #16] 392# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 393# CHECK-NEXT: - - - - - - - - - - - 1.00 stp s0, s1, [x2, #16]! 394# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 395# CHECK-NEXT: - - - - - - - - - - - 1.00 stp s0, s1, [x2], #16 396# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 397# CHECK-NEXT: - - - - - - - - - - - 1.00 stp x0, x1, [x2, #16] 398# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 399# CHECK-NEXT: - - - - - - - - - - - 1.00 stp x0, x1, [x2, #16]! 400# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - add x2, x3, #1 401# CHECK-NEXT: - - - - - - - - - - - 1.00 stp x0, x1, [x2], #16 402 403# CHECK: Timeline view: 404# CHECK-NEXT: 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 012345678 405# CHECK-NEXT: Index 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 0123456789 406 407# CHECK: [0,0] DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 408# CHECK-NEXT: [0,1] . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str b0, [x2, #16] 409# CHECK-NEXT: [0,2] . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 410# CHECK-NEXT: [0,3] . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str b0, [x2, #16]! 411# CHECK-NEXT: [0,4] . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 412# CHECK-NEXT: [0,5] . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str b0, [x2], #16 413# CHECK-NEXT: [0,6] . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 414# CHECK-NEXT: [0,7] . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str d0, [x2], #16 415# CHECK-NEXT: [0,8] . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 416# CHECK-NEXT: [0,9] . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str d0, [x2, #16]! 417# CHECK-NEXT: [0,10] . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 418# CHECK-NEXT: [0,11] . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str d0, [x2, #16] 419# CHECK-NEXT: [0,12] . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 420# CHECK-NEXT: [0,13] . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str h0, [x2], #16 421# CHECK-NEXT: [0,14] . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 422# CHECK-NEXT: [0,15] . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str h0, [x2, #16]! 423# CHECK-NEXT: [0,16] . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 424# CHECK-NEXT: [0,17] . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str h0, [x2, #16] 425# CHECK-NEXT: [0,18] . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 426# CHECK-NEXT: [0,19] . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str q0, [x2], #16 427# CHECK-NEXT: [0,20] . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 428# CHECK-NEXT: [0,21] . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str q0, [x2, #16]! 429# CHECK-NEXT: [0,22] . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 430# CHECK-NEXT: [0,23] . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str q0, [x2, #16] 431# CHECK-NEXT: [0,24] . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 432# CHECK-NEXT: [0,25] . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str s0, [x2], #16 433# CHECK-NEXT: [0,26] . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 434# CHECK-NEXT: [0,27] . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str s0, [x2, #16]! 435# CHECK-NEXT: [0,28] . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 436# CHECK-NEXT: [0,29] . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . str s0, [x2, #16] 437# CHECK-NEXT: [0,30] . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 438# CHECK-NEXT: [0,31] . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . str w0, [x2], #16 439# CHECK-NEXT: [0,32] . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 440# CHECK-NEXT: [0,33] . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . str w0, [x2, #16]! 441# CHECK-NEXT: [0,34] . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 442# CHECK-NEXT: [0,35] . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . . . . . . str w0, [x2, #16] 443# CHECK-NEXT: [0,36] . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 444# CHECK-NEXT: [0,37] . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . . str x0, [x2], #16 445# CHECK-NEXT: [0,38] . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 446# CHECK-NEXT: [0,39] . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . . . . str x0, [x2, #16]! 447# CHECK-NEXT: [0,40] . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 448# CHECK-NEXT: [0,41] . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . . str x0, [x2, #16] 449# CHECK-NEXT: [0,42] . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 450# CHECK-NEXT: [0,43] . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . . strb w0, [x2], #16 451# CHECK-NEXT: [0,44] . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 452# CHECK-NEXT: [0,45] . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . . . strb w0, [x2, #16]! 453# CHECK-NEXT: [0,46] . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 454# CHECK-NEXT: [0,47] . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . . . . . strb w0, [x2, #16] 455# CHECK-NEXT: [0,48] . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 456# CHECK-NEXT: [0,49] . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . . . . strh w0, [x2], #16 457# CHECK-NEXT: [0,50] . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 458# CHECK-NEXT: [0,51] . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . . strh w0, [x2, #16]! 459# CHECK-NEXT: [0,52] . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 460# CHECK-NEXT: [0,53] . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . strh w0, [x2, #16] 461# CHECK-NEXT: [0,54] . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . . add x2, x3, #1 462# CHECK-NEXT: [0,55] . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . . str d0, [x2, x2, lsl #3] 463# CHECK-NEXT: [0,56] . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . add x2, x3, #1 464# CHECK-NEXT: [0,57] . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . . str q0, [x2, w0, sxtw] 465# CHECK-NEXT: [0,58] . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . . add x2, x3, #1 466# CHECK-NEXT: [0,59] . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . . . . str w0, [x2, w0, sxtw] 467# CHECK-NEXT: [0,60] . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . . . . add x2, x3, #1 468# CHECK-NEXT: [0,61] . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . . . str x0, [x2, w0, sxtw] 469# CHECK-NEXT: [0,62] . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . add x2, x3, #1 470# CHECK-NEXT: [0,63] . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . strb w0, [x2, w0, sxtw] 471# CHECK-NEXT: [0,64] . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . . add x2, x3, #1 472# CHECK-NEXT: [0,65] . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . . strh w0, [x2, w0, sxtw] 473# CHECK-NEXT: [0,66] . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . add x2, x3, #1 474# CHECK-NEXT: [0,67] . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . . . stur b0, [x2, #255] 475# CHECK-NEXT: [0,68] . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . . add x2, x3, #1 476# CHECK-NEXT: [0,69] . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . . . . stur d0, [x2, #255] 477# CHECK-NEXT: [0,70] . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . . add x2, x3, #1 478# CHECK-NEXT: [0,71] . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . . . . stur h0, [x2, #255] 479# CHECK-NEXT: [0,72] . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . . . . add x2, x3, #1 480# CHECK-NEXT: [0,73] . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . stur q0, [x2, #255] 481# CHECK-NEXT: [0,74] . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . . add x2, x3, #1 482# CHECK-NEXT: [0,75] . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . . stur s0, [x2, #255] 483# CHECK-NEXT: [0,76] . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . add x2, x3, #1 484# CHECK-NEXT: [0,77] . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . . . stur w0, [x2, #255] 485# CHECK-NEXT: [0,78] . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . . add x2, x3, #1 486# CHECK-NEXT: [0,79] . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . . . . sturb w0, [x2, #255] 487# CHECK-NEXT: [0,80] . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . . add x2, x3, #1 488# CHECK-NEXT: [0,81] . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . . . . sturh w0, [x2, #255] 489# CHECK-NEXT: [0,82] . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . . . . add x2, x3, #1 490# CHECK-NEXT: [0,83] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . stnp d0, d1, [x2, #16] 491# CHECK-NEXT: [0,84] . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . . add x2, x3, #1 492# CHECK-NEXT: [0,85] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . . stnp q0, q1, [x2, #16] 493# CHECK-NEXT: [0,86] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . add x2, x3, #1 494# CHECK-NEXT: [0,87] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . . . stnp s0, s1, [x2, #16] 495# CHECK-NEXT: [0,88] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . . add x2, x3, #1 496# CHECK-NEXT: [0,89] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . . . . . stnp s0, s1, [x2, #16] 497# CHECK-NEXT: [0,90] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . . add x2, x3, #1 498# CHECK-NEXT: [0,91] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . . . . . stnp w0, w1, [x2, #16] 499# CHECK-NEXT: [0,92] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . . . add x2, x3, #1 500# CHECK-NEXT: [0,93] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . stnp x0, x1, [x2, #16] 501# CHECK-NEXT: [0,94] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . . add x2, x3, #1 502# CHECK-NEXT: [0,95] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . . stp d0, d1, [x2, #16] 503# CHECK-NEXT: [0,96] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . . add x2, x3, #1 504# CHECK-NEXT: [0,97] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . . stp d0, d1, [x2, #16]! 505# CHECK-NEXT: [0,98] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . . . . add x2, x3, #1 506# CHECK-NEXT: [0,99] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . . . stp d0, d1, [x2], #16 507# CHECK-NEXT: [0,100] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . . add x2, x3, #1 508# CHECK-NEXT: [0,101] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . . . . . . stp q0, q1, [x2, #16] 509# CHECK-NEXT: [0,102] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . . add x2, x3, #1 510# CHECK-NEXT: [0,103] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . . . . stp q0, q1, [x2, #16]! 511# CHECK-NEXT: [0,104] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . . add x2, x3, #1 512# CHECK-NEXT: [0,105] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . . stp q0, q1, [x2], #16 513# CHECK-NEXT: [0,106] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DeeE. . . . . add x2, x3, #1 514# CHECK-NEXT: [0,107] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . stp s0, s1, [x2, #16] 515# CHECK-NEXT: [0,108] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . . add x2, x3, #1 516# CHECK-NEXT: [0,109] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . . . stp s0, s1, [x2, #16]! 517# CHECK-NEXT: [0,110] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . . add x2, x3, #1 518# CHECK-NEXT: [0,111] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DE . . . stp s0, s1, [x2], #16 519# CHECK-NEXT: [0,112] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . add x2, x3, #1 520# CHECK-NEXT: [0,113] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE . . stp x0, x1, [x2, #16] 521# CHECK-NEXT: [0,114] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE . . add x2, x3, #1 522# CHECK-NEXT: [0,115] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE. . stp x0, x1, [x2, #16]! 523# CHECK-NEXT: [0,116] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DeeE. add x2, x3, #1 524# CHECK-NEXT: [0,117] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DE stp x0, x1, [x2], #16 525 526# CHECK: Average Wait times (based on the timeline view): 527# CHECK-NEXT: [0]: Executions 528# CHECK-NEXT: [1]: Average time spent waiting in a scheduler's queue 529# CHECK-NEXT: [2]: Average time spent waiting in a scheduler's queue while ready 530# CHECK-NEXT: [3]: Average time elapsed from WB until retire stage 531 532# CHECK: [0] [1] [2] [3] 533# CHECK-NEXT: 0. 1 0.0 0.0 0.0 add x2, x3, #1 534# CHECK-NEXT: 1. 1 0.0 0.0 0.0 str b0, [x2, #16] 535# CHECK-NEXT: 2. 1 0.0 0.0 0.0 add x2, x3, #1 536# CHECK-NEXT: 3. 1 0.0 0.0 0.0 str b0, [x2, #16]! 537# CHECK-NEXT: 4. 1 0.0 0.0 0.0 add x2, x3, #1 538# CHECK-NEXT: 5. 1 0.0 0.0 0.0 str b0, [x2], #16 539# CHECK-NEXT: 6. 1 0.0 0.0 0.0 add x2, x3, #1 540# CHECK-NEXT: 7. 1 0.0 0.0 0.0 str d0, [x2], #16 541# CHECK-NEXT: 8. 1 0.0 0.0 0.0 add x2, x3, #1 542# CHECK-NEXT: 9. 1 0.0 0.0 0.0 str d0, [x2, #16]! 543# CHECK-NEXT: 10. 1 0.0 0.0 0.0 add x2, x3, #1 544# CHECK-NEXT: 11. 1 0.0 0.0 0.0 str d0, [x2, #16] 545# CHECK-NEXT: 12. 1 0.0 0.0 0.0 add x2, x3, #1 546# CHECK-NEXT: 13. 1 0.0 0.0 0.0 str h0, [x2], #16 547# CHECK-NEXT: 14. 1 0.0 0.0 0.0 add x2, x3, #1 548# CHECK-NEXT: 15. 1 0.0 0.0 0.0 str h0, [x2, #16]! 549# CHECK-NEXT: 16. 1 0.0 0.0 0.0 add x2, x3, #1 550# CHECK-NEXT: 17. 1 0.0 0.0 0.0 str h0, [x2, #16] 551# CHECK-NEXT: 18. 1 0.0 0.0 0.0 add x2, x3, #1 552# CHECK-NEXT: 19. 1 0.0 0.0 0.0 str q0, [x2], #16 553# CHECK-NEXT: 20. 1 0.0 0.0 0.0 add x2, x3, #1 554# CHECK-NEXT: 21. 1 0.0 0.0 0.0 str q0, [x2, #16]! 555# CHECK-NEXT: 22. 1 0.0 0.0 0.0 add x2, x3, #1 556# CHECK-NEXT: 23. 1 0.0 0.0 0.0 str q0, [x2, #16] 557# CHECK-NEXT: 24. 1 0.0 0.0 0.0 add x2, x3, #1 558# CHECK-NEXT: 25. 1 0.0 0.0 0.0 str s0, [x2], #16 559# CHECK-NEXT: 26. 1 0.0 0.0 0.0 add x2, x3, #1 560# CHECK-NEXT: 27. 1 0.0 0.0 0.0 str s0, [x2, #16]! 561# CHECK-NEXT: 28. 1 0.0 0.0 0.0 add x2, x3, #1 562# CHECK-NEXT: 29. 1 0.0 0.0 0.0 str s0, [x2, #16] 563# CHECK-NEXT: 30. 1 0.0 0.0 0.0 add x2, x3, #1 564# CHECK-NEXT: 31. 1 0.0 0.0 0.0 str w0, [x2], #16 565# CHECK-NEXT: 32. 1 0.0 0.0 0.0 add x2, x3, #1 566# CHECK-NEXT: 33. 1 0.0 0.0 0.0 str w0, [x2, #16]! 567# CHECK-NEXT: 34. 1 0.0 0.0 0.0 add x2, x3, #1 568# CHECK-NEXT: 35. 1 0.0 0.0 0.0 str w0, [x2, #16] 569# CHECK-NEXT: 36. 1 0.0 0.0 0.0 add x2, x3, #1 570# CHECK-NEXT: 37. 1 0.0 0.0 0.0 str x0, [x2], #16 571# CHECK-NEXT: 38. 1 0.0 0.0 0.0 add x2, x3, #1 572# CHECK-NEXT: 39. 1 0.0 0.0 0.0 str x0, [x2, #16]! 573# CHECK-NEXT: 40. 1 0.0 0.0 0.0 add x2, x3, #1 574# CHECK-NEXT: 41. 1 0.0 0.0 0.0 str x0, [x2, #16] 575# CHECK-NEXT: 42. 1 0.0 0.0 0.0 add x2, x3, #1 576# CHECK-NEXT: 43. 1 0.0 0.0 0.0 strb w0, [x2], #16 577# CHECK-NEXT: 44. 1 0.0 0.0 0.0 add x2, x3, #1 578# CHECK-NEXT: 45. 1 0.0 0.0 0.0 strb w0, [x2, #16]! 579# CHECK-NEXT: 46. 1 0.0 0.0 0.0 add x2, x3, #1 580# CHECK-NEXT: 47. 1 0.0 0.0 0.0 strb w0, [x2, #16] 581# CHECK-NEXT: 48. 1 0.0 0.0 0.0 add x2, x3, #1 582# CHECK-NEXT: 49. 1 0.0 0.0 0.0 strh w0, [x2], #16 583# CHECK-NEXT: 50. 1 0.0 0.0 0.0 add x2, x3, #1 584# CHECK-NEXT: 51. 1 0.0 0.0 0.0 strh w0, [x2, #16]! 585# CHECK-NEXT: 52. 1 0.0 0.0 0.0 add x2, x3, #1 586# CHECK-NEXT: 53. 1 0.0 0.0 0.0 strh w0, [x2, #16] 587# CHECK-NEXT: 54. 1 0.0 0.0 0.0 add x2, x3, #1 588# CHECK-NEXT: 55. 1 0.0 0.0 0.0 str d0, [x2, x2, lsl #3] 589# CHECK-NEXT: 56. 1 0.0 0.0 0.0 add x2, x3, #1 590# CHECK-NEXT: 57. 1 0.0 0.0 0.0 str q0, [x2, w0, sxtw] 591# CHECK-NEXT: 58. 1 0.0 0.0 0.0 add x2, x3, #1 592# CHECK-NEXT: 59. 1 0.0 0.0 0.0 str w0, [x2, w0, sxtw] 593# CHECK-NEXT: 60. 1 0.0 0.0 0.0 add x2, x3, #1 594# CHECK-NEXT: 61. 1 0.0 0.0 0.0 str x0, [x2, w0, sxtw] 595# CHECK-NEXT: 62. 1 0.0 0.0 0.0 add x2, x3, #1 596# CHECK-NEXT: 63. 1 0.0 0.0 0.0 strb w0, [x2, w0, sxtw] 597# CHECK-NEXT: 64. 1 0.0 0.0 0.0 add x2, x3, #1 598# CHECK-NEXT: 65. 1 0.0 0.0 0.0 strh w0, [x2, w0, sxtw] 599# CHECK-NEXT: 66. 1 0.0 0.0 0.0 add x2, x3, #1 600# CHECK-NEXT: 67. 1 0.0 0.0 0.0 stur b0, [x2, #255] 601# CHECK-NEXT: 68. 1 0.0 0.0 0.0 add x2, x3, #1 602# CHECK-NEXT: 69. 1 0.0 0.0 0.0 stur d0, [x2, #255] 603# CHECK-NEXT: 70. 1 0.0 0.0 0.0 add x2, x3, #1 604# CHECK-NEXT: 71. 1 0.0 0.0 0.0 stur h0, [x2, #255] 605# CHECK-NEXT: 72. 1 0.0 0.0 0.0 add x2, x3, #1 606# CHECK-NEXT: 73. 1 0.0 0.0 0.0 stur q0, [x2, #255] 607# CHECK-NEXT: 74. 1 0.0 0.0 0.0 add x2, x3, #1 608# CHECK-NEXT: 75. 1 0.0 0.0 0.0 stur s0, [x2, #255] 609# CHECK-NEXT: 76. 1 0.0 0.0 0.0 add x2, x3, #1 610# CHECK-NEXT: 77. 1 0.0 0.0 0.0 stur w0, [x2, #255] 611# CHECK-NEXT: 78. 1 0.0 0.0 0.0 add x2, x3, #1 612# CHECK-NEXT: 79. 1 0.0 0.0 0.0 sturb w0, [x2, #255] 613# CHECK-NEXT: 80. 1 0.0 0.0 0.0 add x2, x3, #1 614# CHECK-NEXT: 81. 1 0.0 0.0 0.0 sturh w0, [x2, #255] 615# CHECK-NEXT: 82. 1 0.0 0.0 0.0 add x2, x3, #1 616# CHECK-NEXT: 83. 1 0.0 0.0 0.0 stnp d0, d1, [x2, #16] 617# CHECK-NEXT: 84. 1 0.0 0.0 0.0 add x2, x3, #1 618# CHECK-NEXT: 85. 1 0.0 0.0 0.0 stnp q0, q1, [x2, #16] 619# CHECK-NEXT: 86. 1 0.0 0.0 0.0 add x2, x3, #1 620# CHECK-NEXT: 87. 1 0.0 0.0 0.0 stnp s0, s1, [x2, #16] 621# CHECK-NEXT: 88. 1 0.0 0.0 0.0 add x2, x3, #1 622# CHECK-NEXT: 89. 1 0.0 0.0 0.0 stnp s0, s1, [x2, #16] 623# CHECK-NEXT: 90. 1 0.0 0.0 0.0 add x2, x3, #1 624# CHECK-NEXT: 91. 1 0.0 0.0 0.0 stnp w0, w1, [x2, #16] 625# CHECK-NEXT: 92. 1 0.0 0.0 0.0 add x2, x3, #1 626# CHECK-NEXT: 93. 1 0.0 0.0 0.0 stnp x0, x1, [x2, #16] 627# CHECK-NEXT: 94. 1 0.0 0.0 0.0 add x2, x3, #1 628# CHECK-NEXT: 95. 1 0.0 0.0 0.0 stp d0, d1, [x2, #16] 629# CHECK-NEXT: 96. 1 0.0 0.0 0.0 add x2, x3, #1 630# CHECK-NEXT: 97. 1 0.0 0.0 0.0 stp d0, d1, [x2, #16]! 631# CHECK-NEXT: 98. 1 0.0 0.0 0.0 add x2, x3, #1 632# CHECK-NEXT: 99. 1 0.0 0.0 0.0 stp d0, d1, [x2], #16 633# CHECK-NEXT: 100. 1 0.0 0.0 0.0 add x2, x3, #1 634# CHECK-NEXT: 101. 1 0.0 0.0 0.0 stp q0, q1, [x2, #16] 635# CHECK-NEXT: 102. 1 0.0 0.0 0.0 add x2, x3, #1 636# CHECK-NEXT: 103. 1 0.0 0.0 0.0 stp q0, q1, [x2, #16]! 637# CHECK-NEXT: 104. 1 0.0 0.0 0.0 add x2, x3, #1 638# CHECK-NEXT: 105. 1 0.0 0.0 0.0 stp q0, q1, [x2], #16 639# CHECK-NEXT: 106. 1 0.0 0.0 0.0 add x2, x3, #1 640# CHECK-NEXT: 107. 1 0.0 0.0 0.0 stp s0, s1, [x2, #16] 641# CHECK-NEXT: 108. 1 0.0 0.0 0.0 add x2, x3, #1 642# CHECK-NEXT: 109. 1 0.0 0.0 0.0 stp s0, s1, [x2, #16]! 643# CHECK-NEXT: 110. 1 0.0 0.0 0.0 add x2, x3, #1 644# CHECK-NEXT: 111. 1 0.0 0.0 0.0 stp s0, s1, [x2], #16 645# CHECK-NEXT: 112. 1 0.0 0.0 0.0 add x2, x3, #1 646# CHECK-NEXT: 113. 1 0.0 0.0 0.0 stp x0, x1, [x2, #16] 647# CHECK-NEXT: 114. 1 0.0 0.0 0.0 add x2, x3, #1 648# CHECK-NEXT: 115. 1 0.0 0.0 0.0 stp x0, x1, [x2, #16]! 649# CHECK-NEXT: 116. 1 0.0 0.0 0.0 add x2, x3, #1 650# CHECK-NEXT: 117. 1 0.0 0.0 0.0 stp x0, x1, [x2], #16 651# CHECK-NEXT: 1 0.0 0.0 0.0 <total> 652