brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · c9d6bc7 Raw
68 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=aarch64-- -run-pass=peephole-opt -o - %s | FileCheck %s3 4# Make sure that analyzeCompare doesn't produce illegal folds due to5# ignoring the subregister index on the use operands.6 7---8name:            analyze_compare_subreg_use_lhs9tracksRegLiveness: true10body:             |11  bb.0:12    liveins: $x0, $x113 14    ; CHECK-LABEL: name: analyze_compare_subreg_use_lhs15    ; CHECK: liveins: $x0, $x116    ; CHECK-NEXT: {{  $}}17    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x118    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x019    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr20    ; CHECK-NEXT: [[SUBSWrr:%[0-9]+]]:gpr32 = SUBSWrr [[COPY]].sub_32, [[COPY2]], implicit-def dead $nzcv21    ; CHECK-NEXT: [[DEF:%[0-9]+]]:gpr64all = IMPLICIT_DEF22    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:gpr64 = INSERT_SUBREG [[DEF]], killed [[SUBSWrr]], %subreg.sub_3223    ; CHECK-NEXT: [[RORVXr:%[0-9]+]]:gpr64 = RORVXr [[COPY1]], killed [[INSERT_SUBREG]]24    ; CHECK-NEXT: $x0 = COPY [[RORVXr]]25    ; CHECK-NEXT: RET_ReallyLR implicit $x026    %0:gpr64 = COPY $x127    %1:gpr64 = COPY $x028    %2:gpr32 = COPY $wzr29    %3:gpr32 = SUBSWrr %0.sub_32, %2, implicit-def dead $nzcv30    %4:gpr64all = IMPLICIT_DEF31    %5:gpr64 = INSERT_SUBREG %4, killed %3, %subreg.sub_3232    %6:gpr64 = RORVXr %1, killed %533    $x0 = COPY %634    RET_ReallyLR implicit $x035 36...37 38---39name:            analyze_compare_subreg_use_rhs40tracksRegLiveness: true41body:             |42  bb.0:43    liveins: $x0, $x144 45    ; CHECK-LABEL: name: analyze_compare_subreg_use_rhs46    ; CHECK: liveins: $x0, $x147    ; CHECK-NEXT: {{  $}}48    ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr64 = COPY $x149    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr64 = COPY $x050    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr32 = COPY $wzr51    ; CHECK-NEXT: [[SUBSWrr:%[0-9]+]]:gpr32 = SUBSWrr [[COPY2]], [[COPY]].sub_32, implicit-def dead $nzcv52    ; CHECK-NEXT: [[DEF:%[0-9]+]]:gpr64all = IMPLICIT_DEF53    ; CHECK-NEXT: [[INSERT_SUBREG:%[0-9]+]]:gpr64 = INSERT_SUBREG [[DEF]], killed [[SUBSWrr]], %subreg.sub_3254    ; CHECK-NEXT: [[RORVXr:%[0-9]+]]:gpr64 = RORVXr [[COPY1]], killed [[INSERT_SUBREG]]55    ; CHECK-NEXT: $x0 = COPY [[RORVXr]]56    ; CHECK-NEXT: RET_ReallyLR implicit $x057    %0:gpr64 = COPY $x158    %1:gpr64 = COPY $x059    %2:gpr32 = COPY $wzr60    %3:gpr32 = SUBSWrr %2, %0.sub_32, implicit-def dead $nzcv61    %4:gpr64all = IMPLICIT_DEF62    %5:gpr64 = INSERT_SUBREG %4, killed %3, %subreg.sub_3263    %6:gpr64 = RORVXr %1, killed %564    $x0 = COPY %665    RET_ReallyLR implicit $x066 67...68