149 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -verify-machineinstrs -mtriple=aarch64 -run-pass=legalizer %s -o - | FileCheck %s3 4...5---6name: s167tracksRegLiveness: true8body: |9 bb.0:10 liveins: $h0, $h1, $h211 ; CHECK-LABEL: name: s1612 ; CHECK: liveins: $h0, $h1, $h213 ; CHECK-NEXT: {{ $}}14 ; CHECK-NEXT: %op0:_(s16) = COPY $h015 ; CHECK-NEXT: %op1:_(s16) = COPY $h116 ; CHECK-NEXT: %op2:_(s16) = COPY $h217 ; CHECK-NEXT: [[FPEXT:%[0-9]+]]:_(s32) = G_FPEXT %op0(s16)18 ; CHECK-NEXT: [[FPEXT1:%[0-9]+]]:_(s32) = G_FPEXT %op1(s16)19 ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(s32) = G_FMUL [[FPEXT]], [[FPEXT1]]20 ; CHECK-NEXT: [[FPTRUNC:%[0-9]+]]:_(s16) = G_FPTRUNC [[FMUL]](s32)21 ; CHECK-NEXT: [[FPEXT2:%[0-9]+]]:_(s32) = G_FPEXT [[FPTRUNC]](s16)22 ; CHECK-NEXT: [[FPEXT3:%[0-9]+]]:_(s32) = G_FPEXT %op2(s16)23 ; CHECK-NEXT: [[FADD:%[0-9]+]]:_(s32) = G_FADD [[FPEXT2]], [[FPEXT3]]24 ; CHECK-NEXT: %fmad:_(s16) = G_FPTRUNC [[FADD]](s32)25 ; CHECK-NEXT: $h0 = COPY %fmad(s16)26 ; CHECK-NEXT: RET_ReallyLR implicit $h027 %op0:_(s16) = COPY $h028 %op1:_(s16) = COPY $h129 %op2:_(s16) = COPY $h230 %fmad:_(s16) = G_FMAD %op0, %op1, %op231 $h0 = COPY %fmad32 RET_ReallyLR implicit $h033...34---35name: s3236tracksRegLiveness: true37body: |38 bb.0:39 liveins: $s0, $s1, $s240 ; CHECK-LABEL: name: s3241 ; CHECK: liveins: $s0, $s1, $s242 ; CHECK-NEXT: {{ $}}43 ; CHECK-NEXT: %op0:_(s32) = COPY $s044 ; CHECK-NEXT: %op1:_(s32) = COPY $s145 ; CHECK-NEXT: %op2:_(s32) = COPY $s246 ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(s32) = G_FMUL %op0, %op147 ; CHECK-NEXT: %fmad:_(s32) = G_FADD [[FMUL]], %op248 ; CHECK-NEXT: $s0 = COPY %fmad(s32)49 ; CHECK-NEXT: RET_ReallyLR implicit $s050 %op0:_(s32) = COPY $s051 %op1:_(s32) = COPY $s152 %op2:_(s32) = COPY $s253 %fmad:_(s32) = G_FMAD %op0, %op1, %op254 $s0 = COPY %fmad55 RET_ReallyLR implicit $s056...57---58name: s6459tracksRegLiveness: true60body: |61 bb.0:62 liveins: $d0, $d1, $d263 ; CHECK-LABEL: name: s6464 ; CHECK: liveins: $d0, $d1, $d265 ; CHECK-NEXT: {{ $}}66 ; CHECK-NEXT: %op0:_(s64) = COPY $d067 ; CHECK-NEXT: %op1:_(s64) = COPY $d168 ; CHECK-NEXT: %op2:_(s64) = COPY $d269 ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(s64) = G_FMUL %op0, %op170 ; CHECK-NEXT: %fmad:_(s64) = G_FADD [[FMUL]], %op271 ; CHECK-NEXT: $d0 = COPY %fmad(s64)72 ; CHECK-NEXT: RET_ReallyLR implicit $d073 %op0:_(s64) = COPY $d074 %op1:_(s64) = COPY $d175 %op2:_(s64) = COPY $d276 %fmad:_(s64) = G_FMAD %op0, %op1, %op277 $d0 = COPY %fmad78 RET_ReallyLR implicit $d079...80---81name: v2s3282tracksRegLiveness: true83body: |84 bb.0:85 liveins: $d0, $d1, $d286 ; CHECK-LABEL: name: v2s3287 ; CHECK: liveins: $d0, $d1, $d288 ; CHECK-NEXT: {{ $}}89 ; CHECK-NEXT: %op0:_(<2 x s32>) = COPY $d090 ; CHECK-NEXT: %op1:_(<2 x s32>) = COPY $d191 ; CHECK-NEXT: %op2:_(<2 x s32>) = COPY $d292 ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(<2 x s32>) = G_FMUL %op0, %op193 ; CHECK-NEXT: %fmad:_(<2 x s32>) = G_FADD [[FMUL]], %op294 ; CHECK-NEXT: $d0 = COPY %fmad(<2 x s32>)95 ; CHECK-NEXT: RET_ReallyLR implicit $d096 %op0:_(<2 x s32>) = COPY $d097 %op1:_(<2 x s32>) = COPY $d198 %op2:_(<2 x s32>) = COPY $d299 %fmad:_(<2 x s32>) = G_FMAD %op0, %op1, %op2100 $d0 = COPY %fmad101 RET_ReallyLR implicit $d0102...103---104name: v4s32105tracksRegLiveness: true106body: |107 bb.0:108 liveins: $q0, $q1, $q2109 ; CHECK-LABEL: name: v4s32110 ; CHECK: liveins: $q0, $q1, $q2111 ; CHECK-NEXT: {{ $}}112 ; CHECK-NEXT: %op0:_(<4 x s32>) = COPY $q0113 ; CHECK-NEXT: %op1:_(<4 x s32>) = COPY $q1114 ; CHECK-NEXT: %op2:_(<4 x s32>) = COPY $q2115 ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(<4 x s32>) = G_FMUL %op0, %op1116 ; CHECK-NEXT: %fmad:_(<4 x s32>) = G_FADD [[FMUL]], %op2117 ; CHECK-NEXT: $q0 = COPY %fmad(<4 x s32>)118 ; CHECK-NEXT: RET_ReallyLR implicit $q0119 %op0:_(<4 x s32>) = COPY $q0120 %op1:_(<4 x s32>) = COPY $q1121 %op2:_(<4 x s32>) = COPY $q2122 %fmad:_(<4 x s32>) = G_FMAD %op0, %op1, %op2123 $q0 = COPY %fmad124 RET_ReallyLR implicit $q0125...126---127name: v2s64128tracksRegLiveness: true129body: |130 bb.0:131 liveins: $q0, $q1, $q2132 ; CHECK-LABEL: name: v2s64133 ; CHECK: liveins: $q0, $q1, $q2134 ; CHECK-NEXT: {{ $}}135 ; CHECK-NEXT: %op0:_(<2 x s64>) = COPY $q0136 ; CHECK-NEXT: %op1:_(<2 x s64>) = COPY $q1137 ; CHECK-NEXT: %op2:_(<2 x s64>) = COPY $q2138 ; CHECK-NEXT: [[FMUL:%[0-9]+]]:_(<2 x s64>) = G_FMUL %op0, %op1139 ; CHECK-NEXT: %fmad:_(<2 x s64>) = G_FADD [[FMUL]], %op2140 ; CHECK-NEXT: $q0 = COPY %fmad(<2 x s64>)141 ; CHECK-NEXT: RET_ReallyLR implicit $q0142 %op0:_(<2 x s64>) = COPY $q0143 %op1:_(<2 x s64>) = COPY $q1144 %op2:_(<2 x s64>) = COPY $q2145 %fmad:_(<2 x s64>) = G_FMAD %op0, %op1, %op2146 $q0 = COPY %fmad147 RET_ReallyLR implicit $q0148...149