81 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=aarch64-apple-ios -run-pass=greedy -run-pass=virtregrewriter %s -o - | FileCheck %s3---4name: func05body: |6 bb.0:7 ; Make sure we don't clobber q3 when we expand the bundle8 ; CHECK-LABEL: name: func09 ; CHECK: $x0 = IMPLICIT_DEF10 ; CHECK: $q0_q1_q2_q3 = IMPLICIT_DEF11 ; CHECK: $q4 = COPY $q312 ; CHECK: $q1_q2_q3 = COPY $q0_q1_q213 ; CHECK: ST4i64 $q1_q2_q3_q4, 0, $x014 $x0 = IMPLICIT_DEF15 $q0_q1_q2_q3 = IMPLICIT_DEF16 $q1_q2_q3 = COPY $q0_q1_q2 {17 $q4 = COPY $q318 }19 ST4i64 $q1_q2_q3_q4, 0, $x020 21...22---23name: func124body: |25 bb.0:26 ; If it was already ordered, make sure we don't break it27 ; CHECK-LABEL: name: func128 ; CHECK: $x0 = IMPLICIT_DEF29 ; CHECK: $q0_q1_q2_q3 = IMPLICIT_DEF30 ; CHECK: $q4 = COPY $q331 ; CHECK: $q1_q2_q3 = COPY $q0_q1_q232 ; CHECK: ST4i64 $q1_q2_q3_q4, 0, $x033 $x0 = IMPLICIT_DEF34 $q0_q1_q2_q3 = IMPLICIT_DEF35 $q4 = COPY $q3 {36 $q1_q2_q3 = COPY $q0_q1_q237 }38 ST4i64 $q1_q2_q3_q4, 0, $x039 40...41---42name: func243body: |44 bb.0:45 ; A bit less realistic, but check that we handle multiple nodes46 ; CHECK-LABEL: name: func247 ; CHECK: $x0 = IMPLICIT_DEF48 ; CHECK: $q0_q1_q2_q3 = IMPLICIT_DEF49 ; CHECK: $q3 = COPY $q250 ; CHECK: $q4 = COPY $q151 ; CHECK: $q1_q2 = COPY $q0_q152 ; CHECK: ST4i64 $q1_q2_q3_q4, 0, $x053 $x0 = IMPLICIT_DEF54 $q0_q1_q2_q3 = IMPLICIT_DEF55 $q1_q2 = COPY $q0_q1 {56 $q3 = COPY $q257 $q4 = COPY $q158 }59 ST4i64 $q1_q2_q3_q4, 0, $x060 61...62---63name: func364body: |65 bb.0:66 ; If there was nothing wrong, don't change the order for no reason67 ; CHECK-LABEL: name: func368 ; CHECK: $x0 = IMPLICIT_DEF69 ; CHECK: $q1_q2_q3_q4 = IMPLICIT_DEF70 ; CHECK: $q0_q1 = COPY $q1_q271 ; CHECK: $q2_q3 = COPY $q3_q472 ; CHECK: ST4i64 $q0_q1_q2_q3, 0, $x073 $x0 = IMPLICIT_DEF74 $q1_q2_q3_q4 = IMPLICIT_DEF75 $q0_q1 = COPY $q1_q2 {76 $q2_q3 = COPY $q3_q477 }78 ST4i64 $q0_q1_q2_q3, 0, $x079 80...81