brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 7eabeb3 Raw
74 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -o - %s -mtriple=x86_64-- -run-pass peephole-opt -mattr=+ndd | FileCheck %s3 4---5name: opt_redundant_flags_06body: |7  bb.0:8    ; CHECK-LABEL: name: opt_redundant_flags_09    ; CHECK: [[COPY:%[0-9]+]]:gr32 = COPY $esi10    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gr32 = COPY $edi11    ; CHECK-NEXT: [[SUB32rr_ND:%[0-9]+]]:gr32 = SUB32rr_ND [[COPY]], [[COPY1]], implicit-def $eflags12    ; CHECK-NEXT: $eax = COPY [[SUB32rr_ND]]13    ; CHECK-NEXT: $bl = SETCCr 2, implicit $eflags14    %0:gr32 = COPY $esi15    %1:gr32 = COPY $edi16    %2:gr32 = SUB32rr_ND %0, %1, implicit-def dead $eflags17    $eax = COPY %218    ; CMP should be removed.19    CMP32rr %0, %1, implicit-def $eflags20    $bl = SETCCr 2, implicit $eflags21...22---23name: opt_redundant_flags_124body: |25  bb.0:26    ; CHECK-LABEL: name: opt_redundant_flags_127    ; CHECK: [[COPY:%[0-9]+]]:gr32 = COPY $esi28    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gr32 = COPY $edi29    ; CHECK-NEXT: [[SUB32rr_ND:%[0-9]+]]:gr32 = SUB32rr_ND [[COPY]], [[COPY1]], implicit-def $eflags30    ; CHECK-NEXT: $eax = COPY [[SUB32rr_ND]]31    ; CHECK-NEXT: $bl = SETCCr 6, implicit $eflags32    %0:gr32 = COPY $esi33    %1:gr32 = COPY $edi34    %2:gr32 = SUB32rr_ND %0, %1, implicit-def dead $eflags35    $eax = COPY %236    ; CMP should be removed.37    CMP32rr %1, %0, implicit-def $eflags38    $bl = SETCCr 3, implicit $eflags39...40---41name: opt_redundant_flags_242body: |43  bb.0:44    ; CHECK-LABEL: name: opt_redundant_flags_245    ; CHECK: [[COPY:%[0-9]+]]:gr32 = COPY $esi46    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gr32 = COPY $edi47    ; CHECK-NEXT: [[SUB32rr_ND:%[0-9]+]]:gr32 = SUB32rr_ND [[COPY]], [[COPY1]], implicit-def $eflags48    ; CHECK-NEXT: $cl = SETCCr 2, implicit $eflags49    ; CHECK-NEXT: $eax = COPY [[SUB32rr_ND]]50    ; CHECK-NEXT: $bl = SETCCr 2, implicit $eflags51    %0:gr32 = COPY $esi52    %1:gr32 = COPY $edi53    %2:gr32 = SUB32rr_ND %0, %1, implicit-def $eflags54    ; an extra eflags reader shouldn't stop optimization.55    $cl = SETCCr 2, implicit $eflags56    $eax = COPY %257    CMP32rr %0, %1, implicit-def $eflags58    $bl = SETCCr 2, implicit $eflags59...60---61name: opt_zerocmp_user_062body: |63  bb.0:64    ; CHECK-LABEL: name: opt_zerocmp_user_065    ; CHECK: [[COPY:%[0-9]+]]:gr32 = COPY $esi66    ; CHECK-NEXT: [[NEG32r_ND:%[0-9]+]]:gr32 = NEG32r_ND [[COPY]], implicit-def $eflags67    ; CHECK-NEXT: $al = SETCCr 3, implicit $eflags68    %0:gr32 = COPY $esi69    %1:gr32 = NEG32r_ND %0, implicit-def dead $eflags70    ; TEST should be removed.71    TEST32rr %0, %0, implicit-def $eflags72    $al = SETCCr 4, implicit $eflags73...74