brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 88eaa13 Raw
60 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2; RUN: llc -mtriple=aarch64 -global-isel %s -o - -stop-after=irtranslator | FileCheck %s3 4define ptr @test_simple_alloca(i32 %numelts) {5  ; CHECK-LABEL: name: test_simple_alloca6  ; CHECK: bb.1 (%ir-block.0):7  ; CHECK:   liveins: $w08  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $w09  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 110  ; CHECK:   [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s32)11  ; CHECK:   [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]12  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 1513  ; CHECK:   [[ADD:%[0-9]+]]:_(s64) = nuw G_ADD [[MUL]], [[C1]]14  ; CHECK:   [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1615  ; CHECK:   [[AND:%[0-9]+]]:_(s64) = G_AND [[ADD]], [[C2]]16  ; CHECK:   [[DYN_STACKALLOC:%[0-9]+]]:_(p0) = G_DYN_STACKALLOC [[AND]](s64), 117  ; CHECK:   $x0 = COPY [[DYN_STACKALLOC]](p0)18  ; CHECK:   RET_ReallyLR implicit $x019  %addr = alloca i8, i32 %numelts20  ret ptr %addr21}22 23define ptr @test_aligned_alloca(i32 %numelts) {24  ; CHECK-LABEL: name: test_aligned_alloca25  ; CHECK: bb.1 (%ir-block.0):26  ; CHECK:   liveins: $w027  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $w028  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 129  ; CHECK:   [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s32)30  ; CHECK:   [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]31  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 1532  ; CHECK:   [[ADD:%[0-9]+]]:_(s64) = nuw G_ADD [[MUL]], [[C1]]33  ; CHECK:   [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1634  ; CHECK:   [[AND:%[0-9]+]]:_(s64) = G_AND [[ADD]], [[C2]]35  ; CHECK:   [[DYN_STACKALLOC:%[0-9]+]]:_(p0) = G_DYN_STACKALLOC [[AND]](s64), 3236  ; CHECK:   $x0 = COPY [[DYN_STACKALLOC]](p0)37  ; CHECK:   RET_ReallyLR implicit $x038  %addr = alloca i8, i32 %numelts, align 3239  ret ptr %addr40}41 42define ptr @test_natural_alloca(i32 %numelts) {43  ; CHECK-LABEL: name: test_natural_alloca44  ; CHECK: bb.1 (%ir-block.0):45  ; CHECK:   liveins: $w046  ; CHECK:   [[COPY:%[0-9]+]]:_(s32) = COPY $w047  ; CHECK:   [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1648  ; CHECK:   [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s32)49  ; CHECK:   [[MUL:%[0-9]+]]:_(s64) = G_MUL [[ZEXT]], [[C]]50  ; CHECK:   [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 1551  ; CHECK:   [[ADD:%[0-9]+]]:_(s64) = nuw G_ADD [[MUL]], [[C1]]52  ; CHECK:   [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 -1653  ; CHECK:   [[AND:%[0-9]+]]:_(s64) = G_AND [[ADD]], [[C2]]54  ; CHECK:   [[DYN_STACKALLOC:%[0-9]+]]:_(p0) = G_DYN_STACKALLOC [[AND]](s64), 155  ; CHECK:   $x0 = COPY [[DYN_STACKALLOC]](p0)56  ; CHECK:   RET_ReallyLR implicit $x057  %addr = alloca i128, i32 %numelts58  ret ptr %addr59}60