llvm/llvm/test/CodeGen/Hexagon/swp-ws-weak-dep.mir

# REQUIRES: asserts
# RUN: llc --march=hexagon %s -run-pass=pipeliner -debug-only=pipeliner \
# RUN: -window-sched=force -filetype=null -verify-machineinstrs 2>&1 \
# RUN: | FileCheck %s

# CHECK: SU(3): Ord  Latency=0 Weak
# CHECK: SU(1): Ord  Latency=0 Weak
# CHECK: Window scheduling is not needed!

---
name:            khazad_setkey_in_key
tracksRegLiveness: true
body:             |
  bb.0:
    successors: %bb.1(0x80000000)
    liveins: $r0, $r1
  
    %0:intregs = COPY $r1
    %1:intregs = COPY $r0
    J2_loop0i %bb.1, 1, implicit-def $lc0, implicit-def $sa0, implicit-def $usr
  
  bb.1:
    successors: %bb.2(0x04000000), %bb.1(0x7c000000)
  
    %2:doubleregs = L2_loadrd_io %1, 0
    %3:intregs = COPY %2.isub_lo
    S2_storeri_io %0, 0, %3
    %4:intregs = S2_asl_i_r %2.isub_hi, 2
    %5:intregs = L2_loadri_io %4, 0
    %6:intregs = S4_andi_asl_ri 4, %3, 1
    %7:intregs = L2_loadri_io %6, 0
    %8:intregs = A2_xor %7, %5
    S2_storeri_io %1, 0, %8
    ENDLOOP0 %bb.1, implicit-def $pc, implicit-def $lc0, implicit $sa0, implicit $lc0
    J2_jump %bb.2, implicit-def dead $pc
  
  bb.2:
    PS_jmpret $r31, implicit-def dead $pc

...