xref: /llvm-project/llvm/test/CodeGen/ARM/load_store_opt_reg_limit.mir (revision fae05692a36f9ebbd201d93c2a6b0f927564d7e6)
1# RUN: llc -mtriple=thumbv7--linux-android -verify-machineinstrs -run-pass=arm-ldst-opt %s -o - | FileCheck %s --check-prefix=CHECK-MERGE
2#CHECK-MERGE: foo
3name:            foo
4# CHECK-MERGE: VSTMDIA $r4, 14 /* CC::al */, $noreg,  $d15,  $d16,  $d17,  $d18,  $d19,  $d20,  $d21,  $d22,  $d23,  $d24,  $d25,  $d26,  $d27,  $d28,  $d29,  $d30
5# CHECK-MERGE-NEXT: VSTRD  $d31, $r4, 32, 14 /* CC::al */, $noreg :: (store (s64))
6# CHECK-MERGE:     VSTMDIA killed $r0, 14 /* CC::al */, $noreg,  $d4,  $d5,  $d6,  $d7,  $d8,  $d9,  $d10,  $d11,  $d12,  $d13,  $d14
7body:             |
8  bb.0:
9    VSTRD  $d15, $r4, 0, 14, $noreg :: (store (s64))
10    VSTRD  $d16, $r4, 2, 14, $noreg :: (store (s64))
11    VSTRD  $d17, $r4, 4, 14, $noreg :: (store (s64))
12    VSTRD  $d18, $r4, 6, 14, $noreg :: (store (s64))
13    VSTRD  $d19, $r4, 8, 14, $noreg :: (store (s64))
14    VSTRD  $d20, $r4, 10, 14, $noreg :: (store (s64))
15    VSTRD  $d21, $r4, 12, 14, $noreg :: (store (s64))
16    VSTRD  $d22, $r4, 14, 14, $noreg :: (store (s64))
17    VSTRD  $d23, $r4, 16, 14, $noreg :: (store (s64))
18    VSTRD  $d24, $r4, 18, 14, $noreg :: (store (s64))
19    VSTRD  $d25, $r4, 20, 14, $noreg :: (store (s64))
20    VSTRD  $d26, $r4, 22, 14, $noreg :: (store (s64))
21    VSTRD  $d27, $r4, 24, 14, $noreg :: (store (s64))
22    VSTRD  $d28, $r4, 26, 14, $noreg :: (store (s64))
23    VSTRD  $d29, $r4, 28, 14, $noreg :: (store (s64))
24    VSTRD  $d30, $r4, 30, 14, $noreg :: (store (s64))
25    VSTRD  $d31, $r4, 32, 14, $noreg :: (store (s64))
26    VSTRD  $d0, $r4, 34, 14, $noreg :: (store (s64))
27    VSTRD  $d1, $r4, 36, 14, $noreg :: (store (s64))
28    VSTRD  $d3, $r4, 38, 14, $noreg :: (store (s64))
29    VSTRD  $d2, $r4, 40, 14, $noreg :: (store (s64))
30    VSTRD  $d4, $r4, 42, 14, $noreg :: (store (s64))
31    VSTRD  $d5, $r4, 44, 14, $noreg :: (store (s64))
32    VSTRD  $d6, $r4, 46, 14, $noreg :: (store (s64))
33    VSTRD  $d7, $r4, 48, 14, $noreg :: (store (s64))
34    VSTRD  $d8, $r4, 50, 14, $noreg :: (store (s64))
35    VSTRD  $d9, $r4, 52, 14, $noreg :: (store (s64))
36    VSTRD  $d10, $r4, 54, 14, $noreg :: (store (s64))
37    VSTRD  $d11, $r4, 56, 14, $noreg :: (store (s64))
38    VSTRD  $d12, $r4, 58, 14, $noreg :: (store (s64))
39    VSTRD  $d13, $r4, 60, 14, $noreg :: (store (s64))
40    VSTRD  $d14, $r4, 62, 14, $noreg :: (store (s64))
41