brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 283c89b Raw
151 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs -mtriple aarch64-unknown-unknown %s -o - | FileCheck %s3...4---5name:            mul_to_shl6alignment:       47tracksRegLiveness: true8frameInfo:9  maxAlignment:    110machineFunctionInfo: {}11body:             |12  bb.0:13    liveins: $x014    ; CHECK-LABEL: name: mul_to_shl15    ; CHECK: liveins: $x016    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x018    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 219    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)20    ; CHECK-NEXT: $x0 = COPY [[SHL]](s64)21    ; CHECK-NEXT: RET_ReallyLR implicit-def $x022    %0:_(s64) = COPY $x023    %1:_(s64) = G_CONSTANT i64 424    %2:_(s64) = G_MUL %0, %1(s64)25    $x0 = COPY %2(s64)26    RET_ReallyLR implicit-def $x027...28---29name:            mul_to_shl_1630alignment:       431tracksRegLiveness: true32frameInfo:33  maxAlignment:    134machineFunctionInfo: {}35body:             |36  bb.0:37    liveins: $x038    ; CHECK-LABEL: name: mul_to_shl_1639    ; CHECK: liveins: $x040    ; CHECK-NEXT: {{  $}}41    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x042    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 443    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = G_SHL [[COPY]], [[C]](s64)44    ; CHECK-NEXT: $x0 = COPY [[SHL]](s64)45    ; CHECK-NEXT: RET_ReallyLR implicit-def $x046    %0:_(s64) = COPY $x047    %1:_(s64) = G_CONSTANT i64 1648    %2:_(s64) = G_MUL %0, %1(s64)49    $x0 = COPY %2(s64)50    RET_ReallyLR implicit-def $x051...52---53name:            mul_to_shl_vector_1654alignment:       455tracksRegLiveness: true56frameInfo:57  maxAlignment:    158machineFunctionInfo: {}59body:             |60  bb.0:61    liveins: $q062    ; Currently not implemented.63    ; CHECK-LABEL: name: mul_to_shl_vector_1664    ; CHECK: liveins: $q065    ; CHECK-NEXT: {{  $}}66    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q067    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1668    ; CHECK-NEXT: [[BUILD_VECTOR:%[0-9]+]]:_(<4 x s32>) = G_BUILD_VECTOR [[C]](s32), [[C]](s32), [[C]](s32), [[C]](s32)69    ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(<4 x s32>) = G_MUL [[COPY]], [[BUILD_VECTOR]]70    ; CHECK-NEXT: $q0 = COPY [[MUL]](<4 x s32>)71    ; CHECK-NEXT: RET_ReallyLR implicit-def $q072    %0:_(<4 x s32>) = COPY $q073    %1:_(s32) = G_CONSTANT i32 1674    %2:_(<4 x s32>) = G_BUILD_VECTOR %1(s32), %1(s32), %1(s32), %1(s32)75    %3:_(<4 x s32>) = G_MUL %0, %2(<4 x s32>)76    $q0 = COPY %3(<4 x s32>)77    RET_ReallyLR implicit-def $q078...79---80name:            mul_to_shl_non_pow281alignment:       482tracksRegLiveness: true83frameInfo:84  maxAlignment:    185machineFunctionInfo: {}86body:             |87  bb.0:88    liveins: $x089    ; CHECK-LABEL: name: mul_to_shl_non_pow290    ; CHECK: liveins: $x091    ; CHECK-NEXT: {{  $}}92    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x093    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1094    ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s64) = G_MUL [[COPY]], [[C]]95    ; CHECK-NEXT: $x0 = COPY [[MUL]](s64)96    ; CHECK-NEXT: RET_ReallyLR implicit-def $x097    %0:_(s64) = COPY $x098    %1:_(s64) = G_CONSTANT i64 1099    %2:_(s64) = G_MUL %0, %1(s64)100    $x0 = COPY %2(s64)101    RET_ReallyLR implicit-def $x0102...103---104name:            mul_to_shl_16_nuw_nsw105alignment:       4106tracksRegLiveness: true107frameInfo:108  maxAlignment:    1109machineFunctionInfo: {}110body:             |111  bb.0:112    liveins: $x0113    ; CHECK-LABEL: name: mul_to_shl_16_nuw_nsw114    ; CHECK: liveins: $x0115    ; CHECK-NEXT: {{  $}}116    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0117    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4118    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = nuw nsw G_SHL [[COPY]], [[C]](s64)119    ; CHECK-NEXT: $x0 = COPY [[SHL]](s64)120    ; CHECK-NEXT: RET_ReallyLR implicit-def $x0121    %0:_(s64) = COPY $x0122    %1:_(s64) = G_CONSTANT i64 16123    %2:_(s64) = nuw nsw G_MUL %0, %1(s64)124    $x0 = COPY %2(s64)125    RET_ReallyLR implicit-def $x0126...127---128name:            mul_to_shl_int_min_nuw_nsw129alignment:       4130tracksRegLiveness: true131frameInfo:132  maxAlignment:    1133machineFunctionInfo: {}134body:             |135  bb.0:136    liveins: $x0137    ; CHECK-LABEL: name: mul_to_shl_int_min_nuw_nsw138    ; CHECK: liveins: $x0139    ; CHECK-NEXT: {{  $}}140    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0141    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 63142    ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s64) = nuw G_SHL [[COPY]], [[C]](s64)143    ; CHECK-NEXT: $x0 = COPY [[SHL]](s64)144    ; CHECK-NEXT: RET_ReallyLR implicit-def $x0145    %0:_(s64) = COPY $x0146    %1:_(s64) = G_CONSTANT i64 -9223372036854775808147    %2:_(s64) = nuw nsw G_MUL %0, %1(s64)148    $x0 = COPY %2(s64)149    RET_ReallyLR implicit-def $x0150...151