Home | History | Annotate | Download | only in Hexagon
      1 # RUN: llc -march=hexagon -run-pass expand-condsets %s -o - | FileCheck %s
      2 # REQUIRES: asserts
      3 
      4 # The physical register as an operand to C2_mux caused a crash.
      5 # Check that this compiles successfully and that the mux is expanded.
      6 
      7 # CHECK: %2:intregs = A2_tfrt %1, $r31
      8 # CHECK: %2:intregs = A2_tfrf killed %1, killed %0, implicit %2(tied-def 0)
      9 
     10 name: fred
     11 tracksRegLiveness: true
     12 body: |
     13   bb.0:
     14     successors: %bb.1, %bb.2
     15     liveins: $r0
     16 
     17     %0:intregs = A2_tfrsi 0           ;; Multiple defs to ensure IsSSA = false
     18     %0:intregs = L2_loadri_io $r0, 0
     19     %1:predregs = C2_cmplt %0, 10
     20     %2:intregs = C2_mux %1, $r31, %0
     21     %3:predregs = C2_cmpeqi %2, 0
     22     J2_jumpt %3, %bb.1, implicit-def $pc
     23     J2_jump %bb.2, implicit-def $pc
     24 
     25   bb.1:
     26     PS_jmpret $r31, implicit-def $pc
     27 
     28   bb.2:
     29     PS_jmpret $r31, implicit-def $pc
     30 ...
     31