• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
10name: fred
11tracksRegLiveness: true
12body: |
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_cmpgti %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