76 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# RUN: llc -debugify-and-strip-all-safe -run-pass=aarch64-prelegalizer-combiner -verify-machineinstrs -mtriple aarch64-unknown-unknown %s -o - | FileCheck %s4 5---6name: agc.test_combine_ptradd_constants_intres7body: |8 bb.1:9 liveins: $x010 ; CHECK-LABEL: name: agc.test_combine_ptradd_constants_intres11 ; CHECK: liveins: $x012 ; CHECK-NEXT: {{ $}}13 ; CHECK-NEXT: [[C:%[0-9]+]]:_(p64) = G_CONSTANT i64 4414 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[C]](p64)15 ; CHECK-NEXT: $x0 = COPY [[PTRTOINT]](s64)16 %1:_(s64) = G_CONSTANT i64 4217 %2:_(s32) = G_CONSTANT i32 218 %3:_(p64) = G_INTTOPTR %219 %4:_(p64) = G_PTR_ADD %3, %120 %5:_(s64) = G_PTRTOINT %421 $x0 = COPY %5(s64)22...23---24name: agc.test_combine_ptradd_constants_ptrres25body: |26 bb.1:27 liveins: $x028 ; CHECK-LABEL: name: agc.test_combine_ptradd_constants_ptrres29 ; CHECK: liveins: $x030 ; CHECK-NEXT: {{ $}}31 ; CHECK-NEXT: [[C:%[0-9]+]]:_(p64) = G_CONSTANT i64 4432 ; CHECK-NEXT: $x0 = COPY [[C]](p64)33 %1:_(s64) = G_CONSTANT i64 4234 %2:_(s32) = G_CONSTANT i32 235 %3:_(p64) = G_INTTOPTR %236 %4:_(p64) = G_PTR_ADD %3, %137 $x0 = COPY %4(p64)38...39---40name: agc.test_not_combine_variable_ptradd41body: |42 bb.1:43 liveins: $x0, $x144 ; Ensure non-constant G_PTR_ADDs are not folded.45 ; CHECK-LABEL: name: agc.test_not_combine_variable_ptradd46 ; CHECK: liveins: $x0, $x147 ; CHECK-NEXT: {{ $}}48 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 4249 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p64) = COPY $x150 ; CHECK-NEXT: [[PTR_ADD:%[0-9]+]]:_(p64) = G_PTR_ADD [[COPY]], [[C]](s64)51 ; CHECK-NEXT: [[PTRTOINT:%[0-9]+]]:_(s64) = G_PTRTOINT [[PTR_ADD]](p64)52 ; CHECK-NEXT: $x0 = COPY [[PTRTOINT]](s64)53 %1:_(s64) = G_CONSTANT i64 4254 %2:_(p64) = COPY $x155 %3:_(p64) = G_PTR_ADD %2, %156 %4:_(s64) = G_PTRTOINT %357 $x0 = COPY %4(s64)58...59---60name: test_combine_zero_extend61body: |62 bb.1:63 liveins: $x064 65 ; CHECK-LABEL: name: test_combine_zero_extend66 ; CHECK: liveins: $x067 ; CHECK-NEXT: {{ $}}68 ; CHECK-NEXT: [[C:%[0-9]+]]:_(p0) = G_CONSTANT i64 429189123669 ; CHECK-NEXT: $x0 = COPY [[C]](p0)70 %0:_(s32) = G_CONSTANT i32 -307609671 %1:_(p0) = G_INTTOPTR %0:_(s32)72 %2:_(s64) = G_CONSTANT i64 3673 %3:_(p0) = G_PTR_ADD %1:_, %2:_(s64)74 $x0 = COPY %375...76