62 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---4name: shift_immed_chain_mismatch_size_crash5alignment: 46tracksRegLiveness: true7liveins:8 - { reg: '$x0' }9body: |10 ; CHECK-LABEL: name: shift_immed_chain_mismatch_size_crash11 ; CHECK: bb.0:12 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)13 ; CHECK-NEXT: liveins: $x014 ; CHECK-NEXT: {{ $}}15 ; CHECK-NEXT: [[DEF:%[0-9]+]]:_(s1) = G_IMPLICIT_DEF16 ; CHECK-NEXT: [[DEF1:%[0-9]+]]:_(p0) = G_IMPLICIT_DEF17 ; CHECK-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 918 ; CHECK-NEXT: G_BRCOND [[DEF]](s1), %bb.219 ; CHECK-NEXT: G_BR %bb.120 ; CHECK-NEXT: {{ $}}21 ; CHECK-NEXT: bb.1:22 ; CHECK-NEXT: successors:23 ; CHECK-NEXT: {{ $}}24 ; CHECK-NEXT: bb.2:25 ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[DEF1]](p0) :: (load (s32) from `ptr undef`, align 8)26 ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 427 ; CHECK-NEXT: [[SHL:%[0-9]+]]:_(s32) = nsw G_SHL [[LOAD]], [[C1]](s32)28 ; CHECK-NEXT: [[MUL:%[0-9]+]]:_(s32) = nsw G_MUL [[SHL]], [[C]]29 ; CHECK-NEXT: [[C2:%[0-9]+]]:_(s64) = G_CONSTANT i64 230 ; CHECK-NEXT: [[SHL1:%[0-9]+]]:_(s32) = G_SHL [[MUL]], [[C2]](s64)31 ; CHECK-NEXT: $w0 = COPY [[SHL1]](s32)32 ; CHECK-NEXT: RET_ReallyLR implicit $w033 bb.1:34 liveins: $x035 36 %0:_(p0) = COPY $x037 %1:_(s1) = G_IMPLICIT_DEF38 %3:_(p0) = G_IMPLICIT_DEF39 %4:_(s32) = G_CONSTANT i32 1640 %6:_(s32) = G_CONSTANT i32 941 %8:_(s32) = G_CONSTANT i32 242 %11:_(s64) = G_CONSTANT i64 243 G_BRCOND %1(s1), %bb.244 G_BR %bb.345 46 bb.2:47 successors:48 49 50 bb.3:51 %2:_(s32) = G_LOAD %3(p0) :: (load (s32) from `ptr undef`, align 8)52 %5:_(s32) = nsw G_MUL %4, %253 %7:_(s32) = nsw G_MUL %5, %654 %9:_(s32) = nsw G_MUL %7, %855 %10:_(s64) = G_SEXT %9(s32)56 %12:_(s64) = G_MUL %10, %1157 %13:_(s32) = G_TRUNC %12(s64)58 $w0 = COPY %13(s32)59 RET_ReallyLR implicit $w060 61...62