[llvm-mca] Add few ldm* instructions to cortex-a57 test case
authorEvgeny Leviant <eleviant@accesssoftek.com>
Thu, 22 Oct 2020 13:21:40 +0000 (16:21 +0300)
committerEvgeny Leviant <eleviant@accesssoftek.com>
Thu, 22 Oct 2020 13:21:40 +0000 (16:21 +0300)
llvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s

index 1ba3ce4..1def95e 100644 (file)
   ldrsht       r3, [r8], #-12
   ldrsht       r8, [r9], r5
   ldrsht       r2, [r1], -r4
+  ldm r2, {r1, r2, r4, r5, r6}
+  ldmia r2, {r1, r2, r4, r5, r6}
+  ldmia r2, {r1, r3, r4, r5, r6}
+  ldmib r2, {r1, r2}
+  ldmdb r2, {r1, r2}
+  ldmib r2, {r1, r3}
+  ldmib r2, {r1, r3, r5}
+  ldmib r2, {r1, r2, r5}
+  ldmdbeq r2, {r1, r2}
+  ldmibeq r2, {r1, r3}
+  ldmia r2, {r0, r1, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15}
+  ldmia r2, {r0, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15}
   str  r8, [r12]
   str  r7, [r1, #12]
   str  r3, [r5, #40]!
 # CHECK-NEXT:  2      4     1.00    *                   ldrsht r3, [r8], #-12
 # CHECK-NEXT:  2      4     1.00    *                   ldrsht r8, [r9], r5
 # CHECK-NEXT:  2      4     1.00    *                   ldrsht r2, [r1], -r4
+# CHECK-NEXT:  16     10    16.00   *                   ldm    r2, {r1, r2, r4, r5, r6}
+# CHECK-NEXT:  16     10    16.00   *                   ldm    r2, {r1, r2, r4, r5, r6}
+# CHECK-NEXT:  16     10    16.00   *                   ldm    r2, {r1, r3, r4, r5, r6}
+# CHECK-NEXT:  16     10    16.00   *                   ldmib  r2, {r1, r2}
+# CHECK-NEXT:  16     10    16.00   *                   ldmdb  r2, {r1, r2}
+# CHECK-NEXT:  16     10    16.00   *                   ldmib  r2, {r1, r3}
+# CHECK-NEXT:  16     10    16.00   *                   ldmib  r2, {r1, r3, r5}
+# CHECK-NEXT:  16     10    16.00   *                   ldmib  r2, {r1, r2, r5}
+# CHECK-NEXT:  16     10    16.00   *                   ldmdbeq        r2, {r1, r2}
+# CHECK-NEXT:  16     10    16.00   *                   ldmibeq        r2, {r1, r3}
+# CHECK-NEXT:  16     10    16.00   *                   ldm    r2, {r0, r1, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, sp, lr, pc}
+# CHECK-NEXT:  16     10    16.00   *                   ldm    r2, {r0, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, sp, lr, pc}
 # CHECK-NEXT:  1      1     1.00           *            str    r8, [r12]
 # CHECK-NEXT:  1      1     1.00           *            str    r7, [r1, #12]
 # CHECK-NEXT:  2      1     1.00           *            str    r3, [r5, #40]!
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1.0]  [1.1]  [2]    [3]    [4]    [5]    [6]
-# CHECK-NEXT:  -     44.50  44.50  92.00  8.00   55.00   -      -
+# CHECK-NEXT:  -     44.50  44.50  284.00 8.00   55.00   -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1.0]  [1.1]  [2]    [3]    [4]    [5]    [6]    Instructions:
 # CHECK-NEXT:  -     0.50   0.50   1.00    -      -      -      -     ldrsht   r3, [r8], #-12
 # CHECK-NEXT:  -     0.50   0.50   1.00    -      -      -      -     ldrsht   r8, [r9], r5
 # CHECK-NEXT:  -     0.50   0.50   1.00    -      -      -      -     ldrsht   r2, [r1], -r4
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldm      r2, {r1, r2, r4, r5, r6}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldm      r2, {r1, r2, r4, r5, r6}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldm      r2, {r1, r3, r4, r5, r6}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldmib    r2, {r1, r2}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldmdb    r2, {r1, r2}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldmib    r2, {r1, r3}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldmib    r2, {r1, r3, r5}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldmib    r2, {r1, r2, r5}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldmdbeq  r2, {r1, r2}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldmibeq  r2, {r1, r3}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldm      r2, {r0, r1, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, sp, lr, pc}
+# CHECK-NEXT:  -      -      -     16.00   -      -      -      -     ldm      r2, {r0, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, sp, lr, pc}
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     str      r8, [r12]
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     str      r7, [r1, #12]
 # CHECK-NEXT:  -     0.50   0.50    -      -     1.00    -      -     str      r3, [r5, #40]!