45 lines · plain
1# RUN: llc -run-pass=machine-combiner -mcpu=neoverse-n2 -mtriple=aarch64-none-linux-gnu -verify-machineinstrs %s -o - | FileCheck %s2 3 4--- |5 @external_func = external global i326 define void @negative_pattern_offset_reg_copied_to_physical(i64 %arg0, i64 %arg1, i64 %arg2, i64 %arg3, i64 %arg4) {7 entry: 8 ret void9 }10...11---12name: negative_pattern_offset_reg_copied_to_physical13body: |14 bb.0.entry:15 liveins: $x0, $x1, $x2, $x316 17 ; CHECK-LABEL: name: negative_pattern_offset_reg_copied_to_physical18 ; CHECK: [[BASE_REG:%[0-9]+]]:gpr64common = COPY $x019 ; CHECK-NEXT: [[PTR_1:%[0-9]+]]:gpr64common = COPY $x120 ; CHECK-NEXT: [[PTR_2:%[0-9]+]]:gpr64common = COPY $x221 ; CHECK-NEXT: [[PTR_3:%[0-9]+]]:gpr64common = COPY $x322 ; CHECK-NEXT: [[LD_i32:%[0-9]+]]:fpr32 = LDRSroX [[BASE_REG]], killed [[PTR_1]], 0, 123 ; CHECK-NEXT: [[LD_LANE_0:%[0-9]+]]:fpr128 = SUBREG_TO_REG 0, killed [[LD_i32]], %subreg.ssub24 ; CHECK-NEXT: [[LD_LANE_1:%[0-9]+]]:fpr128 = LD1i32 [[LD_LANE_0]], 1, [[PTR_2]]25 ; CHECK-NEXT: $x0 = COPY [[PTR_2]]26 ; CHECK-NEXT: BL @external_func, csr_aarch64_aapcs, implicit-def $lr, implicit $x0, implicit-def $x027 ; CHECK-NEXT: [[LD_LANE_2:%[0-9]+]]:fpr128 = LD1i32 [[LD_LANE_1]], 2, killed [[PTR_2]]28 ; CHECK-NEXT: [[LD_LANE_3:%[0-9]+]]:fpr128 = LD1i32 [[LD_LANE_2]], 3, killed [[PTR_3]]29 ; CHECK-NEXT: [[RESULT:%[0-9]+]]:gpr64common = COPY $x030 ; CHECK-NEXT: $q0 = COPY [[LD_LANE_3]]31 ; CHECK-NEXT: RET_ReallyLR implicit $q032 %0:gpr64common = COPY $x033 %1:gpr64common = COPY $x134 %2:gpr64common = COPY $x235 %3:gpr64common = COPY $x336 %5:fpr32 = LDRSroX %0, killed %1, 0, 137 %6:fpr128 = SUBREG_TO_REG 0, killed %5, %subreg.ssub38 %7:fpr128 = LD1i32 %6, 1, %239 $x0 = COPY %240 BL @external_func, csr_aarch64_aapcs, implicit-def $lr, implicit $x0, implicit-def $x041 %8:fpr128 = LD1i32 %7, 2, killed %242 %9:fpr128 = LD1i32 %8, 3, killed %343 %10:gpr64common = COPY $x044 $q0 = COPY %945 RET_ReallyLR implicit $q0