245 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 22# RUN: llc -mtriple aarch64 -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs %s -o - | FileCheck %s3---4name: fadd5tracksRegLiveness: true6body: |7 bb.1:8 liveins: $s09 10 ; CHECK-LABEL: name: fadd11 ; CHECK: liveins: $s012 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s014 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 1.000000e+0015 ; CHECK-NEXT: %add:_(s32) = G_FADD [[COPY]], %cst16 ; CHECK-NEXT: $s0 = COPY %add(s32)17 ; CHECK-NEXT: RET_ReallyLR18 %0:_(s32) = COPY $s019 %cst:_(s32) = G_FCONSTANT float 1.000000e+0020 %add:_(s32) = G_FADD %cst, %021 $s0 = COPY %add22 RET_ReallyLR23 24...25---26name: fmul27tracksRegLiveness: true28body: |29 bb.1:30 liveins: $s031 32 ; CHECK-LABEL: name: fmul33 ; CHECK: liveins: $s034 ; CHECK-NEXT: {{ $}}35 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s036 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 2.000000e+0037 ; CHECK-NEXT: %mul:_(s32) = G_FMUL [[COPY]], %cst38 ; CHECK-NEXT: $s0 = COPY %mul(s32)39 ; CHECK-NEXT: RET_ReallyLR40 %0:_(s32) = COPY $s041 %cst:_(s32) = G_FCONSTANT float 2.000000e+0042 %mul:_(s32) = G_FMUL %cst, %043 $s0 = COPY %mul44 RET_ReallyLR45...46---47name: fmul_vector48tracksRegLiveness: true49body: |50 bb.1:51 liveins: $s052 53 ; CHECK-LABEL: name: fmul_vector54 ; CHECK: liveins: $s055 ; CHECK-NEXT: {{ $}}56 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q057 ; CHECK-NEXT: %cst_scalar:_(s32) = G_FCONSTANT float 2.000000e+0058 ; CHECK-NEXT: %cst:_(<4 x s32>) = G_BUILD_VECTOR %cst_scalar(s32), %cst_scalar(s32), %cst_scalar(s32), %cst_scalar(s32)59 ; CHECK-NEXT: %mul:_(<4 x s32>) = G_FMUL [[COPY]], %cst60 ; CHECK-NEXT: $q0 = COPY %mul(<4 x s32>)61 ; CHECK-NEXT: RET_ReallyLR62 %0:_(<4 x s32>) = COPY $q063 %cst_scalar:_(s32) = G_FCONSTANT float 2.000000e+0064 %cst:_(<4 x s32>) = G_BUILD_VECTOR %cst_scalar, %cst_scalar, %cst_scalar, %cst_scalar65 %mul:_(<4 x s32>) = G_FMUL %cst, %066 $q0 = COPY %mul67 RET_ReallyLR68...69---70name: fmul_splat_with_undef71tracksRegLiveness: true72body: |73 bb.1:74 liveins: $q075 76 ; CHECK-LABEL: name: fmul_splat_with_undef77 ; CHECK: liveins: $q078 ; CHECK-NEXT: {{ $}}79 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q080 ; CHECK-NEXT: %undef:_(s32) = G_IMPLICIT_DEF81 ; CHECK-NEXT: %cst_scalar:_(s32) = G_FCONSTANT float 2.000000e+0082 ; CHECK-NEXT: %cst:_(<4 x s32>) = G_BUILD_VECTOR %undef(s32), %undef(s32), %cst_scalar(s32), %cst_scalar(s32)83 ; CHECK-NEXT: %mul:_(<4 x s32>) = G_FMUL [[COPY]], %cst84 ; CHECK-NEXT: $q0 = COPY %mul(<4 x s32>)85 ; CHECK-NEXT: RET_ReallyLR86 %0:_(<4 x s32>) = COPY $q087 %undef:_(s32) = G_IMPLICIT_DEF88 %cst_scalar:_(s32) = G_FCONSTANT float 2.000000e+0089 %cst:_(<4 x s32>) = G_BUILD_VECTOR %undef, %undef, %cst_scalar, %cst_scalar90 %mul:_(<4 x s32>) = G_FMUL %cst, %091 $q0 = COPY %mul92 RET_ReallyLR93...94---95name: fmul_vector_nonsplat96tracksRegLiveness: true97body: |98 bb.1:99 liveins: $s0100 101 ; CHECK-LABEL: name: fmul_vector_nonsplat102 ; CHECK: liveins: $s0103 ; CHECK-NEXT: {{ $}}104 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0105 ; CHECK-NEXT: %scalar:_(s32) = COPY $s0106 ; CHECK-NEXT: %cst_scalar:_(s32) = G_FCONSTANT float 2.000000e+00107 ; CHECK-NEXT: %cst:_(<4 x s32>) = G_BUILD_VECTOR %cst_scalar(s32), %cst_scalar(s32), %cst_scalar(s32), %scalar(s32)108 ; CHECK-NEXT: %mul:_(<4 x s32>) = G_FMUL %cst, [[COPY]]109 ; CHECK-NEXT: $q0 = COPY %mul(<4 x s32>)110 ; CHECK-NEXT: RET_ReallyLR111 %0:_(<4 x s32>) = COPY $q0112 %scalar:_(s32) = COPY $s0113 %cst_scalar:_(s32) = G_FCONSTANT float 2.000000e+00114 %cst:_(<4 x s32>) = G_BUILD_VECTOR %cst_scalar, %cst_scalar, %cst_scalar, %scalar115 %mul:_(<4 x s32>) = G_FMUL %cst, %0116 $q0 = COPY %mul117 RET_ReallyLR118...119---120name: fminnum121tracksRegLiveness: true122body: |123 bb.1:124 liveins: $s0125 126 ; CHECK-LABEL: name: fminnum127 ; CHECK: liveins: $s0128 ; CHECK-NEXT: {{ $}}129 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0130 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 2.000000e+00131 ; CHECK-NEXT: %min:_(s32) = G_FMINNUM [[COPY]], %cst132 ; CHECK-NEXT: $s0 = COPY %min(s32)133 ; CHECK-NEXT: RET_ReallyLR134 %0:_(s32) = COPY $s0135 %cst:_(s32) = G_FCONSTANT float 2.000000e+00136 %min:_(s32) = G_FMINNUM %cst, %0137 $s0 = COPY %min138 RET_ReallyLR139...140---141name: fmaxnum142tracksRegLiveness: true143body: |144 bb.1:145 liveins: $s0146 147 ; CHECK-LABEL: name: fmaxnum148 ; CHECK: liveins: $s0149 ; CHECK-NEXT: {{ $}}150 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0151 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 2.000000e+00152 ; CHECK-NEXT: %max:_(s32) = G_FMAXNUM [[COPY]], %cst153 ; CHECK-NEXT: $s0 = COPY %max(s32)154 ; CHECK-NEXT: RET_ReallyLR155 %0:_(s32) = COPY $s0156 %cst:_(s32) = G_FCONSTANT float 2.000000e+00157 %max:_(s32) = G_FMAXNUM %cst, %0158 $s0 = COPY %max159 RET_ReallyLR160...161---162name: fminnum_ieee163tracksRegLiveness: true164body: |165 bb.1:166 liveins: $s0167 168 ; CHECK-LABEL: name: fminnum_ieee169 ; CHECK: liveins: $s0170 ; CHECK-NEXT: {{ $}}171 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0172 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 2.000000e+00173 ; CHECK-NEXT: %min:_(s32) = G_FMINNUM_IEEE [[COPY]], %cst174 ; CHECK-NEXT: $s0 = COPY %min(s32)175 ; CHECK-NEXT: RET_ReallyLR176 %0:_(s32) = COPY $s0177 %cst:_(s32) = G_FCONSTANT float 2.000000e+00178 %min:_(s32) = G_FMINNUM_IEEE %cst, %0179 $s0 = COPY %min180 RET_ReallyLR181...182---183name: fmaxnum_ieee184tracksRegLiveness: true185body: |186 bb.1:187 liveins: $s0188 189 ; CHECK-LABEL: name: fmaxnum_ieee190 ; CHECK: liveins: $s0191 ; CHECK-NEXT: {{ $}}192 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0193 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 2.000000e+00194 ; CHECK-NEXT: %max:_(s32) = G_FMAXNUM_IEEE [[COPY]], %cst195 ; CHECK-NEXT: $s0 = COPY %max(s32)196 ; CHECK-NEXT: RET_ReallyLR197 %0:_(s32) = COPY $s0198 %cst:_(s32) = G_FCONSTANT float 2.000000e+00199 %max:_(s32) = G_FMAXNUM_IEEE %cst, %0200 $s0 = COPY %max201 RET_ReallyLR202...203---204name: fminimum205tracksRegLiveness: true206body: |207 bb.1:208 liveins: $s0209 210 ; CHECK-LABEL: name: fminimum211 ; CHECK: liveins: $s0212 ; CHECK-NEXT: {{ $}}213 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0214 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 2.000000e+00215 ; CHECK-NEXT: %min:_(s32) = G_FMINIMUM [[COPY]], %cst216 ; CHECK-NEXT: $s0 = COPY %min(s32)217 ; CHECK-NEXT: RET_ReallyLR218 %0:_(s32) = COPY $s0219 %cst:_(s32) = G_FCONSTANT float 2.000000e+00220 %min:_(s32) = G_FMINIMUM %cst, %0221 $s0 = COPY %min222 RET_ReallyLR223...224---225name: fmaximum226tracksRegLiveness: true227body: |228 bb.1:229 liveins: $s0230 231 ; CHECK-LABEL: name: fmaximum232 ; CHECK: liveins: $s0233 ; CHECK-NEXT: {{ $}}234 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $s0235 ; CHECK-NEXT: %cst:_(s32) = G_FCONSTANT float 2.000000e+00236 ; CHECK-NEXT: %max:_(s32) = G_FMAXIMUM [[COPY]], %cst237 ; CHECK-NEXT: $s0 = COPY %max(s32)238 ; CHECK-NEXT: RET_ReallyLR239 %0:_(s32) = COPY $s0240 %cst:_(s32) = G_FCONSTANT float 2.000000e+00241 %max:_(s32) = G_FMAXIMUM %cst, %0242 $s0 = COPY %max243 RET_ReallyLR244...245