brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · a66fd4f Raw
168 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64-apple-ios  -run-pass=aarch64-prelegalizer-combiner  %s -o - -verify-machineinstrs | FileCheck %s3# REQUIRES: asserts4 5# Check that we fold two adds of constant offsets with G_PTR_ADD into a single G_PTR_ADD.6---7name: ptradd_chain8tracksRegLiveness: true9body:             |10  bb.1:11    liveins: $x012 13    ; CHECK-LABEL: name: ptradd_chain14    ; CHECK: liveins: $x015    ; CHECK-NEXT: {{  $}}16    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x017    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1618    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C]](s64)19    ; CHECK-NEXT: $x0 = COPY [[PTR_ADD]](p0)20    ; CHECK-NEXT: RET_ReallyLR implicit $x021    %0:_(p0) = COPY $x022    %1:_(s64) = G_CONSTANT i64 423    %2:_(s64) = G_CONSTANT i64 1224    %3:_(p0) = G_PTR_ADD %0(p0), %125    %4:_(p0) = G_PTR_ADD %3(p0), %226    $x0 = COPY %4(p0)27    RET_ReallyLR implicit $x028...29---30name: ptradd_chain_231tracksRegLiveness: true32body:             |33  bb.1:34    liveins: $x035    ; CHECK-LABEL: name: ptradd_chain_236    ; CHECK: liveins: $x037    ; CHECK-NEXT: {{  $}}38    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x039    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 2840    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C]](s64)41    ; CHECK-NEXT: $x0 = COPY [[PTR_ADD]](p0)42    ; CHECK-NEXT: RET_ReallyLR implicit $x043    %0:_(p0) = COPY $x044    %1:_(s64) = G_CONSTANT i64 445    %2:_(s64) = G_CONSTANT i64 1246    %3:_(p0) = G_PTR_ADD %0(p0), %147    %4:_(p0) = G_PTR_ADD %3(p0), %248    %5:_(p0) = G_PTR_ADD %4(p0), %249    $x0 = COPY %5(p0)50    RET_ReallyLR implicit $x051...52---53name: ptradd_chain_lookthough54tracksRegLiveness: true55body:             |56  bb.1:57    liveins: $x058    ; CHECK-LABEL: name: ptradd_chain_lookthough59    ; CHECK: liveins: $x060    ; CHECK-NEXT: {{  $}}61    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x062    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 2863    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C]](s64)64    ; CHECK-NEXT: $x0 = COPY [[PTR_ADD]](p0)65    ; CHECK-NEXT: RET_ReallyLR implicit $x066    %0:_(p0) = COPY $x067    %1:_(s64) = G_CONSTANT i64 468    %2:_(s64) = G_CONSTANT i64 1269    %6:_(s32) = G_TRUNC %2(s64)70    %7:_(s64) = G_SEXT %6(s32)71    %3:_(p0) = G_PTR_ADD %0(p0), %172    %4:_(p0) = G_PTR_ADD %3(p0), %273    %5:_(p0) = G_PTR_ADD %4(p0), %774    $x0 = COPY %5(p0)75    RET_ReallyLR implicit $x076...77---78name: ptradd_would_form_illegal_load_addressing79tracksRegLiveness: true80body:             |81  bb.1:82    liveins: $x083 84    ; CHECK-LABEL: name: ptradd_would_form_illegal_load_addressing85    ; CHECK: liveins: $x086    ; CHECK-NEXT: {{  $}}87    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x088    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 489    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 409690    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C]](s64)91    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD]], [[C1]](s64)92    ; CHECK-NEXT: %ld:_(s64) = G_LOAD [[PTR_ADD1]](p0) :: (load (s64))93    ; CHECK-NEXT: %ld_other:_(s64) = G_LOAD [[PTR_ADD]](p0) :: (load (s64))94    ; CHECK-NEXT: $x0 = COPY %ld(s64)95    ; CHECK-NEXT: $x1 = COPY %ld_other(s64)96    ; CHECK-NEXT: RET_ReallyLR implicit $x097    %0:_(p0) = COPY $x098    %1:_(s64) = G_CONSTANT i64 499    %2:_(s64) = G_CONSTANT i64 4096100    %3:_(p0) = G_PTR_ADD %0(p0), %1101    %4:_(p0) = G_PTR_ADD %3(p0), %2102    %ld:_(s64) = G_LOAD %4(p0) :: (load 8)103    %ld_other:_(s64) = G_LOAD %3(p0) :: (load 8)104    $x0 = COPY %ld(s64)105    $x1 = COPY %ld_other(s64)106    RET_ReallyLR implicit $x0107...108---109name: ptradd_would_form_illegal_load_addressing_wrong_orig_immed110tracksRegLiveness: true111body:             |112  bb.1:113    liveins: $x0114 115    ; CHECK-LABEL: name: ptradd_would_form_illegal_load_addressing_wrong_orig_immed116    ; CHECK: liveins: $x0117    ; CHECK-NEXT: {{  $}}118    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0119    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1600136120    ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 8121    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[C]](s64)122    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD]], [[C1]](s64)123    ; CHECK-NEXT: %ld:_(s64) = G_LOAD [[PTR_ADD1]](p0) :: (load (s64))124    ; CHECK-NEXT: %ld_other:_(s64) = G_LOAD [[PTR_ADD]](p0) :: (load (s64))125    ; CHECK-NEXT: $x0 = COPY %ld(s64)126    ; CHECK-NEXT: $x1 = COPY %ld_other(s64)127    ; CHECK-NEXT: RET_ReallyLR implicit $x0128    %0:_(p0) = COPY $x0129    %1:_(s64) = G_CONSTANT i64 1600136130    %2:_(s64) = G_CONSTANT i64 8131    %3:_(p0) = G_PTR_ADD %0(p0), %1132    %4:_(p0) = G_PTR_ADD %3(p0), %2133    %ld:_(s64) = G_LOAD %4(p0) :: (load 8)134    %ld_other:_(s64) = G_LOAD %3(p0) :: (load 8)135    $x0 = COPY %ld(s64)136    $x1 = COPY %ld_other(s64)137    RET_ReallyLR implicit $x0138...139---140# PR58906141name: ptradd_constant_type_mismatch142tracksRegLiveness: true143body:             |144  bb.1:145    liveins: $x0, $x1146 147    ; CHECK-LABEL: name: ptradd_constant_type_mismatch148    ; CHECK: liveins: $x0, $x1149    ; CHECK-NEXT: {{  $}}150    ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY $x0151    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $x1152    ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 8153    ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p0) = G_PTR_ADD [[COPY]], [[COPY1]](s64)154    ; CHECK-NEXT: [[PTR_ADD1:%[0-9]+]]:_(p0) = G_PTR_ADD [[PTR_ADD]], [[C]](s64)155    ; CHECK-NEXT: %ld:_(s64) = G_LOAD [[PTR_ADD1]](p0) :: (load (s64))156    ; CHECK-NEXT: $x0 = COPY %ld(s64)157    ; CHECK-NEXT: RET_ReallyLR implicit $x0158    %0:_(p0) = COPY $x0159    %1:_(s64) = COPY $x1160    %2:_(s32) = G_CONSTANT i32 8161    %3:_(s64) = G_ZEXT %2:_(s32)162    %4:_(p0) = G_PTR_ADD %0:_, %3:_(s64)163    %5:_(p0) = G_PTR_ADD %4:_, %1:_(s64)164    %ld:_(s64) = G_LOAD %5(p0) :: (load 8)165    $x0 = COPY %ld(s64)166    RET_ReallyLR implicit $x0167...168