100 lines · plain
1# RUN: llc -run-pass=aarch64-ldst-opt -o - -mtriple=aarch64-- %s | FileCheck %s2# Check that we merge the MIFlags from both the instructions in the final3# instruction.4---5name: case116# CHECK-LABEL: name: case117body: |8 bb.0:9 frame-setup STRWui $w1, $x0, 1 :: (store (s32))10 $w1 = frame-destroy LDRWui $x0, 1 :: (load (s32))11 12 ; CHECK: frame-setup STRWui13 ; CHECK-NOT: frame-setup14 ; CHECK-NEXT: frame-destroy ORRWrs15 ; No merging happening here, make sure we keep the flags of the previous16 ; instruction.17 RET_ReallyLR18 19...20---21name: case1222# CHECK-LABEL: name: case1223body: |24 bb.0:25 frame-setup STRWui $w1, $x0, 1 :: (store (s32))26 $w2 = frame-destroy LDRHHui $x0, 2 :: (load (s16))27 28 ; CHECK: frame-setup STRWui29 ; CHECK-NOT: frame-setup30 ; CHECK-NEXT: frame-destroy ANDWri31 ; No merging happening here, make sure we keep the flags of the previous32 ; instruction.33 RET_ReallyLR34 35...36---37name: case1338# CHECK-LABEL: name: case1339body: |40 bb.0:41 frame-setup STRWui $w1, $x0, 1 :: (store (s32))42 $w2 = frame-destroy LDRHHui $x0, 3 :: (load (s16))43 44 ; CHECK: frame-setup STRWui45 ; CHECK-NOT: frame-setup46 ; CHECK-NEXT: frame-destroy UBFMWri47 ; No merging happening here, make sure we keep the flags of the previous48 ; instruction.49 RET_ReallyLR50 51...52---53name: case254# CHECK-LABEL: name: case255body: |56 bb.0:57 frame-setup STRHHui $wzr, $x0, 0 :: (store (s32))58 frame-destroy STRHHui $wzr, $x0, 1 :: (store (s32))59 60 ; CHECK: frame-setup frame-destroy STRWui61 RET_ReallyLR62 63...64---65name: case366# CHECK-LABEL: name: case367body: |68 bb.0:69 70 $x0 = frame-setup LDRXui $x2, 0 :: (load (s64))71 $x1 = frame-destroy LDRXui $x2, 1 :: (load (s64))72 73 ; CHECK: frame-setup frame-destroy LDPXi74 RET_ReallyLR75...76---77name: case478# CHECK-LABEL: name: case479body: |80 bb.0:81 $x26, $x25 = frame-setup LDPXi $sp, 082 $sp = frame-destroy ADDXri $sp, 64, 083 84 ; CHECK: = frame-setup frame-destroy LDPXpost85 RET_ReallyLR86 87...88---89name: case4190# CHECK-LABEL: name: case4191body: |92 bb.0:93 $x26 = frame-setup LDRXui $sp, 094 $sp = frame-destroy ADDXri $sp, 64, 095 96 ; CHECK: = frame-setup frame-destroy LDRXpost97 RET_ReallyLR98 99...100