Home | History | Annotate | Download | only in AArch64
      1 # RUN: llc -mtriple=aarch64-none-linux-gnu -mcpu=cortex-a57 -enable-unsafe-fp-math \
      2 # RUN:     -run-pass machine-combiner -machine-combiner-inc-threshold=0 \
      3 # RUN:     -machine-combiner-verify-pattern-order=true -verify-machineinstrs  -o - %s | FileCheck %s
      4 ---
      5 # Test incremental depth updates succeed when triggered after the removal of
      6 # the first instruction in a basic block.
      7 
      8 # CHECK-LABEL: name: inc_update_iterator_test
      9 name:            inc_update_iterator_test
     10 registers:
     11   - { id: 0, class: fpr64 }
     12   - { id: 1, class: gpr32 }
     13   - { id: 2, class: gpr32 }
     14   - { id: 3, class: gpr32 }
     15   - { id: 4, class: gpr32 }
     16   - { id: 5, class: gpr32 }
     17   - { id: 6, class: gpr32 }
     18   - { id: 7, class: fpr64 }
     19   - { id: 8, class: fpr64 }
     20   - { id: 9, class: fpr64 }
     21 body:             |
     22   bb.0:
     23     successors: %bb.1, %bb.2
     24 
     25     %3 = COPY $w2
     26     %2 = COPY $w1
     27     %1 = COPY $w0
     28     %0 = COPY $d0
     29     %4 = SUBSWrr %1, %2, implicit-def $nzcv
     30     Bcc 13, %bb.2, implicit $nzcv
     31     B %bb.1
     32 
     33   bb.1:
     34     ; CHECK: MADDWrrr %1, %2, %3
     35     %5 = MADDWrrr %1, %2, $wzr
     36     %6 = ADDWrr %3, killed %5
     37     %7 = SCVTFUWDri killed %6
     38     ; CHECK: FMADDDrrr %7, %7, %0
     39     %8 = FMULDrr %7, %7
     40     %9 = FADDDrr %0, killed %8
     41     $d0 = COPY %9
     42     RET_ReallyLR implicit $d0
     43 
     44   bb.2:
     45     $d0 = COPY %0
     46     RET_ReallyLR implicit $d0
     47 
     48 ...
     49