1f82d0187SDavid Green# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 4 2f82d0187SDavid Green# RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a510 -run-pass=machine-scheduler -debug-only=machine-scheduler %s -o - 2>&1 | FileCheck %s 3f82d0187SDavid Green# REQUIRES: asserts 4f82d0187SDavid Green 5f82d0187SDavid Green# CHECK: SU(0): renamable $z0 = LD1H renamable $p0, renamable $x1, renamable $x10 :: (load unknown-size, align 1) 6f82d0187SDavid Green# CHECK-NEXT: # preds left : 0 7f82d0187SDavid Green# CHECK-NEXT: # succs left : 4 8f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 9f82d0187SDavid Green# CHECK-NEXT: Latency : 3 10f82d0187SDavid Green# CHECK-NEXT: Depth : 0 11f82d0187SDavid Green# CHECK-NEXT: Height : 7 12f82d0187SDavid Green# CHECK-NEXT: Successors: 13f82d0187SDavid Green# CHECK-NEXT: SU(6): Out Latency=1 14f82d0187SDavid Green# CHECK-NEXT: SU(6): Data Latency=3 Reg=$z0 15f82d0187SDavid Green# CHECK-NEXT: SU(9): Ord Latency=0 Memory 16f82d0187SDavid Green# CHECK-NEXT: SU(8): Ord Latency=0 Memory 17f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 18f82d0187SDavid Green# CHECK-NEXT: SU(1): renamable $z1 = LD1H renamable $p0, renamable $x2, renamable $x10 :: (load unknown-size, align 1) 19f82d0187SDavid Green# CHECK-NEXT: # preds left : 0 20*318c69deSSander de Smalen# CHECK-NEXT: # succs left : 9 21f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 22f82d0187SDavid Green# CHECK-NEXT: Latency : 3 23f82d0187SDavid Green# CHECK-NEXT: Depth : 0 24f82d0187SDavid Green# CHECK-NEXT: Height : 7 25f82d0187SDavid Green# CHECK-NEXT: Successors: 26f82d0187SDavid Green# CHECK-NEXT: SU(7): Out Latency=1 27*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Out Latency=1 28*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Out Latency=1 29*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Out Latency=1 30*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Out Latency=1 31*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Out Latency=1 32f82d0187SDavid Green# CHECK-NEXT: SU(6): Data Latency=3 Reg=$z1 33f82d0187SDavid Green# CHECK-NEXT: SU(9): Ord Latency=0 Memory 34f82d0187SDavid Green# CHECK-NEXT: SU(8): Ord Latency=0 Memory 35f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 36f82d0187SDavid Green# CHECK-NEXT: SU(2): renamable $z2 = LD1H renamable $p0, renamable $x0, renamable $x10 :: (load unknown-size, align 1) 37f82d0187SDavid Green# CHECK-NEXT: # preds left : 0 38f82d0187SDavid Green# CHECK-NEXT: # succs left : 3 39f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 40f82d0187SDavid Green# CHECK-NEXT: Latency : 3 41f82d0187SDavid Green# CHECK-NEXT: Depth : 0 42f82d0187SDavid Green# CHECK-NEXT: Height : 7 43f82d0187SDavid Green# CHECK-NEXT: Successors: 44f82d0187SDavid Green# CHECK-NEXT: SU(6): Data Latency=3 Reg=$z2 45f82d0187SDavid Green# CHECK-NEXT: SU(9): Ord Latency=0 Memory 46f82d0187SDavid Green# CHECK-NEXT: SU(8): Ord Latency=0 Memory 47f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 48f82d0187SDavid Green# CHECK-NEXT: SU(3): renamable $z3 = LD1H renamable $p0, renamable $x11, renamable $x10 :: (load unknown-size, align 1) 49f82d0187SDavid Green# CHECK-NEXT: # preds left : 0 50f82d0187SDavid Green# CHECK-NEXT: # succs left : 3 51f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 52f82d0187SDavid Green# CHECK-NEXT: Latency : 3 53f82d0187SDavid Green# CHECK-NEXT: Depth : 0 54b24af43fSDavid Green# CHECK-NEXT: Height : 7 55f82d0187SDavid Green# CHECK-NEXT: Successors: 56b24af43fSDavid Green# CHECK-NEXT: SU(7): Data Latency=3 Reg=$z3 57f82d0187SDavid Green# CHECK-NEXT: SU(9): Ord Latency=0 Memory 58f82d0187SDavid Green# CHECK-NEXT: SU(8): Ord Latency=0 Memory 59f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 60f82d0187SDavid Green# CHECK-NEXT: SU(4): renamable $z4 = LD1H renamable $p0, renamable $x12, renamable $x10 :: (load unknown-size, align 1) 61f82d0187SDavid Green# CHECK-NEXT: # preds left : 0 62f82d0187SDavid Green# CHECK-NEXT: # succs left : 3 63f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 64f82d0187SDavid Green# CHECK-NEXT: Latency : 3 65f82d0187SDavid Green# CHECK-NEXT: Depth : 0 66b24af43fSDavid Green# CHECK-NEXT: Height : 7 67f82d0187SDavid Green# CHECK-NEXT: Successors: 68b24af43fSDavid Green# CHECK-NEXT: SU(7): Data Latency=3 Reg=$z4 69f82d0187SDavid Green# CHECK-NEXT: SU(9): Ord Latency=0 Memory 70f82d0187SDavid Green# CHECK-NEXT: SU(8): Ord Latency=0 Memory 71f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 72f82d0187SDavid Green# CHECK-NEXT: SU(5): renamable $z5 = LD1H renamable $p0, renamable $x13, renamable $x10 :: (load unknown-size, align 1) 73f82d0187SDavid Green# CHECK-NEXT: # preds left : 0 74f82d0187SDavid Green# CHECK-NEXT: # succs left : 3 75f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 76f82d0187SDavid Green# CHECK-NEXT: Latency : 3 77f82d0187SDavid Green# CHECK-NEXT: Depth : 0 78b24af43fSDavid Green# CHECK-NEXT: Height : 7 79f82d0187SDavid Green# CHECK-NEXT: Successors: 80b24af43fSDavid Green# CHECK-NEXT: SU(7): Data Latency=3 Reg=$z5 81f82d0187SDavid Green# CHECK-NEXT: SU(9): Ord Latency=0 Memory 82f82d0187SDavid Green# CHECK-NEXT: SU(8): Ord Latency=0 Memory 83f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 84f82d0187SDavid Green# CHECK-NEXT: SU(6): $z0 = FMAD_ZPmZZ_H renamable $p0, killed $z0(tied-def 0), killed renamable $z1, killed renamable $z2 85f82d0187SDavid Green# CHECK-NEXT: # preds left : 4 86*318c69deSSander de Smalen# CHECK-NEXT: # succs left : 7 87f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 88f82d0187SDavid Green# CHECK-NEXT: Latency : 4 89f82d0187SDavid Green# CHECK-NEXT: Depth : 3 90f82d0187SDavid Green# CHECK-NEXT: Height : 4 91f82d0187SDavid Green# CHECK-NEXT: Predecessors: 92f82d0187SDavid Green# CHECK-NEXT: SU(2): Data Latency=3 Reg=$z2 93f82d0187SDavid Green# CHECK-NEXT: SU(1): Data Latency=3 Reg=$z1 94f82d0187SDavid Green# CHECK-NEXT: SU(0): Out Latency=1 95f82d0187SDavid Green# CHECK-NEXT: SU(0): Data Latency=3 Reg=$z0 96f82d0187SDavid Green# CHECK-NEXT: Successors: 97f82d0187SDavid Green# CHECK-NEXT: SU(8): Data Latency=4 Reg=$z0 98f82d0187SDavid Green# CHECK-NEXT: SU(7): Anti Latency=0 99*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Anti Latency=0 100*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Anti Latency=0 101*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Anti Latency=0 102*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Anti Latency=0 103*318c69deSSander de Smalen# CHECK-NEXT: SU(7): Anti Latency=0 104f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 105f82d0187SDavid Green# CHECK-NEXT: SU(7): BUNDLE implicit-def $z1, implicit-def $q1, implicit-def $d1, implicit-def $s1, implicit-def $h1, implicit-def $b1, implicit $z5, implicit $p0, implicit killed $z4, implicit killed $z3 106*318c69deSSander de Smalen# CHECK-NEXT: # preds left : 15 107f82d0187SDavid Green# CHECK-NEXT: # succs left : 1 108f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 109f82d0187SDavid Green# CHECK-NEXT: Latency : 1 110f82d0187SDavid Green# CHECK-NEXT: Depth : 3 111b24af43fSDavid Green# CHECK-NEXT: Height : 4 112f82d0187SDavid Green# CHECK-NEXT: Predecessors: 113f82d0187SDavid Green# CHECK-NEXT: SU(6): Anti Latency=0 114*318c69deSSander de Smalen# CHECK-NEXT: SU(6): Anti Latency=0 115*318c69deSSander de Smalen# CHECK-NEXT: SU(6): Anti Latency=0 116*318c69deSSander de Smalen# CHECK-NEXT: SU(6): Anti Latency=0 117*318c69deSSander de Smalen# CHECK-NEXT: SU(6): Anti Latency=0 118*318c69deSSander de Smalen# CHECK-NEXT: SU(6): Anti Latency=0 119b24af43fSDavid Green# CHECK-NEXT: SU(5): Data Latency=3 Reg=$z5 120b24af43fSDavid Green# CHECK-NEXT: SU(4): Data Latency=3 Reg=$z4 121b24af43fSDavid Green# CHECK-NEXT: SU(3): Data Latency=3 Reg=$z3 122f82d0187SDavid Green# CHECK-NEXT: SU(1): Out Latency=1 123*318c69deSSander de Smalen# CHECK-NEXT: SU(1): Out Latency=1 124*318c69deSSander de Smalen# CHECK-NEXT: SU(1): Out Latency=1 125*318c69deSSander de Smalen# CHECK-NEXT: SU(1): Out Latency=1 126*318c69deSSander de Smalen# CHECK-NEXT: SU(1): Out Latency=1 127*318c69deSSander de Smalen# CHECK-NEXT: SU(1): Out Latency=1 128f82d0187SDavid Green# CHECK-NEXT: Successors: 129b24af43fSDavid Green# CHECK-NEXT: SU(9): Data Latency=4 Reg=$z1 130f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 131f82d0187SDavid Green# CHECK-NEXT: SU(8): ST1H killed renamable $z0, renamable $p0, renamable $x0, renamable $x10 :: (store unknown-size, align 1) 132f82d0187SDavid Green# CHECK-NEXT: # preds left : 7 133f82d0187SDavid Green# CHECK-NEXT: # succs left : 1 134f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 135f82d0187SDavid Green# CHECK-NEXT: Latency : 1 136f82d0187SDavid Green# CHECK-NEXT: Depth : 7 137f82d0187SDavid Green# CHECK-NEXT: Height : 0 138f82d0187SDavid Green# CHECK-NEXT: Predecessors: 139f82d0187SDavid Green# CHECK-NEXT: SU(6): Data Latency=4 Reg=$z0 140f82d0187SDavid Green# CHECK-NEXT: SU(5): Ord Latency=0 Memory 141f82d0187SDavid Green# CHECK-NEXT: SU(4): Ord Latency=0 Memory 142f82d0187SDavid Green# CHECK-NEXT: SU(3): Ord Latency=0 Memory 143f82d0187SDavid Green# CHECK-NEXT: SU(2): Ord Latency=0 Memory 144f82d0187SDavid Green# CHECK-NEXT: SU(1): Ord Latency=0 Memory 145f82d0187SDavid Green# CHECK-NEXT: SU(0): Ord Latency=0 Memory 146f82d0187SDavid Green# CHECK-NEXT: Successors: 147f82d0187SDavid Green# CHECK-NEXT: SU(9): Ord Latency=0 Memory 148f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 149f82d0187SDavid Green# CHECK-NEXT: SU(9): ST1H killed renamable $z1, renamable $p0, renamable $x13, renamable $x10 :: (store unknown-size, align 1) 150f82d0187SDavid Green# CHECK-NEXT: # preds left : 8 151f82d0187SDavid Green# CHECK-NEXT: # succs left : 0 152f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 153f82d0187SDavid Green# CHECK-NEXT: Latency : 1 154f82d0187SDavid Green# CHECK-NEXT: Depth : 7 155f82d0187SDavid Green# CHECK-NEXT: Height : 0 156f82d0187SDavid Green# CHECK-NEXT: Predecessors: 157f82d0187SDavid Green# CHECK-NEXT: SU(8): Ord Latency=0 Memory 158b24af43fSDavid Green# CHECK-NEXT: SU(7): Data Latency=4 Reg=$z1 159f82d0187SDavid Green# CHECK-NEXT: SU(5): Ord Latency=0 Memory 160f82d0187SDavid Green# CHECK-NEXT: SU(4): Ord Latency=0 Memory 161f82d0187SDavid Green# CHECK-NEXT: SU(3): Ord Latency=0 Memory 162f82d0187SDavid Green# CHECK-NEXT: SU(2): Ord Latency=0 Memory 163f82d0187SDavid Green# CHECK-NEXT: SU(1): Ord Latency=0 Memory 164f82d0187SDavid Green# CHECK-NEXT: SU(0): Ord Latency=0 Memory 165f82d0187SDavid Green# CHECK-NEXT: Single Issue : false; 166f82d0187SDavid Green# CHECK-NEXT: ExitSU: RET_ReallyLR 167f82d0187SDavid Green# CHECK-NEXT: # preds left : 0 168f82d0187SDavid Green# CHECK-NEXT: # succs left : 0 169f82d0187SDavid Green# CHECK-NEXT: # rdefs left : 0 170f82d0187SDavid Green# CHECK-NEXT: Latency : 0 171f82d0187SDavid Green# CHECK-NEXT: Depth : 0 172f82d0187SDavid Green# CHECK-NEXT: Height : 0 173f82d0187SDavid Green 174f82d0187SDavid Green--- 175f82d0187SDavid Greenname: test 176f82d0187SDavid Greenalignment: 4 177f82d0187SDavid GreentracksRegLiveness: true 178f82d0187SDavid Greenbody: | 179f82d0187SDavid Green bb.0.entry: 180f82d0187SDavid Green liveins: $p0, $x0, $x1, $x2, $x10, $x11, $x12, $x13 181f82d0187SDavid Green 182b24af43fSDavid Green 183f82d0187SDavid Green ; CHECK-LABEL: name: test 184f82d0187SDavid Green ; CHECK: liveins: $p0, $x0, $x1, $x2, $x10, $x11, $x12, $x13 185f82d0187SDavid Green ; CHECK-NEXT: {{ $}} 186f82d0187SDavid Green ; CHECK-NEXT: renamable $z0 = LD1H renamable $p0, renamable $x1, renamable $x10 :: (load unknown-size, align 1) 187f82d0187SDavid Green ; CHECK-NEXT: renamable $z1 = LD1H renamable $p0, renamable $x2, renamable $x10 :: (load unknown-size, align 1) 188f82d0187SDavid Green ; CHECK-NEXT: renamable $z2 = LD1H renamable $p0, renamable $x0, renamable $x10 :: (load unknown-size, align 1) 189f82d0187SDavid Green ; CHECK-NEXT: renamable $z3 = LD1H renamable $p0, renamable $x11, renamable $x10 :: (load unknown-size, align 1) 190f82d0187SDavid Green ; CHECK-NEXT: renamable $z4 = LD1H renamable $p0, renamable $x12, renamable $x10 :: (load unknown-size, align 1) 191f82d0187SDavid Green ; CHECK-NEXT: renamable $z5 = LD1H renamable $p0, renamable $x13, renamable $x10 :: (load unknown-size, align 1) 192b24af43fSDavid Green ; CHECK-NEXT: $z0 = FMAD_ZPmZZ_H renamable $p0, killed $z0, killed renamable $z1, killed renamable $z2 193b24af43fSDavid Green ; CHECK-NEXT: BUNDLE implicit-def $z1, implicit-def $q1, implicit-def $d1, implicit-def $s1, implicit-def $h1, implicit-def $b1, implicit $z5, implicit $p0, implicit killed $z4, implicit killed $z3 { 194f82d0187SDavid Green ; CHECK-NEXT: $z1 = MOVPRFX_ZZ $z5 195b24af43fSDavid Green ; CHECK-NEXT: $z1 = FMLA_ZPmZZ_H renamable $p0, internal killed $z1, killed renamable $z4, killed renamable $z3 196f82d0187SDavid Green ; CHECK-NEXT: } 197b24af43fSDavid Green ; CHECK-NEXT: ST1H killed renamable $z0, renamable $p0, renamable $x0, renamable $x10 :: (store unknown-size, align 1) 198b24af43fSDavid Green ; CHECK-NEXT: ST1H killed renamable $z1, renamable $p0, renamable $x13, renamable $x10 :: (store unknown-size, align 1) 199f82d0187SDavid Green ; CHECK-NEXT: RET_ReallyLR 200f82d0187SDavid Green renamable $z0 = LD1H renamable $p0, renamable $x1, renamable $x10 :: (load unknown-size) 201f82d0187SDavid Green renamable $z1 = LD1H renamable $p0, renamable $x2, renamable $x10 :: (load unknown-size) 202f82d0187SDavid Green renamable $z2 = LD1H renamable $p0, renamable $x0, renamable $x10 :: (load unknown-size) 203f82d0187SDavid Green renamable $z3 = LD1H renamable $p0, renamable $x11, renamable $x10 :: (load unknown-size) 204f82d0187SDavid Green renamable $z4 = LD1H renamable $p0, renamable $x12, renamable $x10 :: (load unknown-size) 205f82d0187SDavid Green renamable $z5 = LD1H renamable $p0, renamable $x13, renamable $x10 :: (load unknown-size) 206f82d0187SDavid Green $z0 = FMAD_ZPmZZ_H renamable $p0, killed $z0, killed renamable $z1, killed renamable $z2 207f82d0187SDavid Green BUNDLE implicit-def $z1, implicit-def $q1, implicit-def $d1, implicit-def $s1, implicit-def $h1, implicit-def $b1, implicit $z5, implicit $p0, implicit killed $z4, implicit killed $z3 { 208f82d0187SDavid Green $z1 = MOVPRFX_ZZ $z5 209f82d0187SDavid Green $z1 = FMLA_ZPmZZ_H renamable $p0, internal killed $z1, killed renamable $z4, killed renamable $z3 210f82d0187SDavid Green } 211f82d0187SDavid Green ST1H killed renamable $z0, renamable $p0, renamable $x0, renamable $x10 :: (store unknown-size) 212f82d0187SDavid Green ST1H killed renamable $z1, renamable $p0, renamable $x13, renamable $x10 :: (store unknown-size) 213f82d0187SDavid Green RET_ReallyLR 214f82d0187SDavid Green 215f82d0187SDavid Green... 216