2 # RUN: llc --mtriple=hexagon %s -run-pass=pipeliner -debug-only=pipeliner \
3 # RUN: -window-sched=force -filetype=null -verify-machineinstrs 2>&1 \
6 # CHECK: Physical registers are not supported in window scheduling!
7 # CHECK: The WindowScheduler failed to initialize!
10 name: exp_approx_top_six
11 tracksRegLiveness: true
14 successors: %bb.2(0x30000000), %bb.1(0x50000000)
15 liveins: $r0, $r1, $r2
20 %3:predregs = C2_cmpeqi %2, 0
21 J2_jumpt killed %3, %bb.2, implicit-def dead $pc
22 J2_jump %bb.1, implicit-def dead $pc
25 successors: %bb.3(0x80000000)
27 %4:intregs = A2_tfrsi 1065353216
28 %5:hvxvr = V6_lvsplatw killed %4
29 %6:intregs = A2_tfrsi 1056964608
30 %7:hvxvr = V6_lvsplatw killed %6
31 %8:intregs = A2_tfrsi 1042983595
32 %9:hvxvr = V6_lvsplatw killed %8
33 %10:intregs = A2_tfrsi 1026206379
34 %11:hvxvr = V6_lvsplatw killed %10
35 %12:intregs = A2_tfrsi 1007192201
36 %13:hvxvr = V6_lvsplatw killed %12
37 %14:intregs = A2_tfrsi 985008993
38 %15:hvxvr = V6_lvsplatw killed %14
39 %16:intregs = A2_addi %2, 31
40 %17:intregs = S2_lsr_i_r %16, 5
41 %18:intregs = COPY %17
42 J2_loop0r %bb.3, %18, implicit-def $lc0, implicit-def $sa0, implicit-def $usr
43 J2_jump %bb.3, implicit-def dead $pc
46 PS_jmpret $r31, implicit-def dead $pc
48 bb.3 (machine-block-address-taken):
49 successors: %bb.3(0x7c000000), %bb.2(0x04000000)
51 %19:intregs = PHI %1, %bb.1, %20, %bb.3
52 %21:intregs = PHI %0, %bb.1, %22, %bb.3
53 %23:hvxvr, %20:intregs = V6_vL32b_pi %19, 128
54 %24:hvxvr = V6_vmpyowh_rnd %23, %23
55 %25:hvxvr = V6_vmpyowh_rnd %24, %23
56 %26:hvxvr = V6_vmpyowh_rnd %25, %23
57 %27:hvxvr = V6_vmpyowh_rnd %26, %23
58 %28:hvxvr = V6_vmpyowh_rnd %27, %23
59 %29:hvxvr = V6_vmpyowh_rnd %7, %24
60 %30:hvxvr = V6_vmpyowh_rnd %9, %25
61 %31:hvxvr = V6_vmpyowh_rnd %11, %26
62 %32:hvxvr = V6_vmpyowh_rnd %13, %27
63 %33:hvxvr = V6_vmpyowh_rnd %15, killed %28
64 %34:hvxvr = V6_vaddw %5, %23
65 %35:hvxvr = V6_vaddw killed %34, killed %29
66 %36:hvxvr = V6_vaddw killed %35, killed %30
67 %37:hvxvr = V6_vaddw killed %36, killed %31
68 %38:hvxvr = V6_vaddw killed %37, killed %32
69 %39:hvxvr = V6_vaddw killed %38, killed %33
70 ; To check the implicitly defined phiscal register within loop kernel.
71 dead %40:intregs = A2_abssat %18, implicit-def dead $usr_ovf
72 %22:intregs = V6_vS32b_pi %21, 128, killed %39
73 ENDLOOP0 %bb.3, implicit-def $pc, implicit-def $lc0, implicit $sa0, implicit $lc0
74 J2_jump %bb.2, implicit-def dead $pc