1; RUN: llc < %s -relocation-model=pic -disable-fp-elim -verify-machineinstrs
2target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
3target triple = "x86_64-unknown-linux-gnu"
4
5define void @_ZN12_GLOBAL__N_113SPUAsmPrinter15EmitInstructionEPKN4llvm12MachineInstrE(i8* %this, i8* %MI) nounwind inlinehint align 2 {
6entry:
7  br i1 undef, label %"3.i", label %"4.i"
8
9"3.i":                                            ; preds = %entry
10  unreachable
11
12"4.i":                                            ; preds = %entry
13  switch i32 undef, label %_ZN12_GLOBAL__N_113SPUAsmPrinter16printInstructionEPKN4llvm12MachineInstrERNS1_11raw_ostreamE.exit [
14    i32 1, label %"5.i"
15    i32 2, label %"6.i"
16    i32 3, label %"7.i"
17    i32 4, label %"8.i"
18    i32 5, label %"9.i"
19  ]
20
21"5.i":                                            ; preds = %"4.i"
22  unreachable
23
24"6.i":                                            ; preds = %"4.i"
25  switch i32 undef, label %"11.i" [
26    i32 1, label %"12.i"
27    i32 2, label %"13.i"
28    i32 3, label %_ZN12_GLOBAL__N_113SPUAsmPrinter16printInstructionEPKN4llvm12MachineInstrERNS1_11raw_ostreamE.exit
29    i32 4, label %"14.i"
30  ]
31
32"7.i":                                            ; preds = %"4.i"
33  unreachable
34
35"8.i":                                            ; preds = %"4.i"
36  unreachable
37
38"9.i":                                            ; preds = %"4.i"
39  unreachable
40
41"11.i":                                           ; preds = %"6.i"
42  switch i32 undef, label %"15.i" [
43    i32 1, label %"16.i"
44    i32 2, label %"17.i"
45    i32 3, label %"18.i"
46    i32 4, label %"19.i"
47    i32 5, label %"20.i"
48    i32 6, label %"21.i"
49    i32 7, label %"24.i"
50    i32 8, label %"27.i"
51    i32 9, label %"28.i"
52    i32 10, label %"29.i"
53    i32 11, label %"30.i"
54    i32 12, label %"31.i"
55    i32 13, label %"32.i"
56    i32 14, label %"39.i"
57  ]
58
59"12.i":                                           ; preds = %"6.i"
60  unreachable
61
62"13.i":                                           ; preds = %"6.i"
63  unreachable
64
65"14.i":                                           ; preds = %"6.i"
66  unreachable
67
68"15.i":                                           ; preds = %"11.i"
69  unreachable
70
71"16.i":                                           ; preds = %"11.i"
72  unreachable
73
74"17.i":                                           ; preds = %"11.i"
75  unreachable
76
77"18.i":                                           ; preds = %"11.i"
78  unreachable
79
80"19.i":                                           ; preds = %"11.i"
81  unreachable
82
83"20.i":                                           ; preds = %"11.i"
84  unreachable
85
86"21.i":                                           ; preds = %"11.i"
87  br i1 undef, label %"22.i", label %"23.i"
88
89"22.i":                                           ; preds = %"21.i"
90  unreachable
91
92"23.i":                                           ; preds = %"21.i"
93  unreachable
94
95"24.i":                                           ; preds = %"11.i"
96  unreachable
97
98"27.i":                                           ; preds = %"11.i"
99  unreachable
100
101"28.i":                                           ; preds = %"11.i"
102  unreachable
103
104"29.i":                                           ; preds = %"11.i"
105  unreachable
106
107"30.i":                                           ; preds = %"11.i"
108  unreachable
109
110"31.i":                                           ; preds = %"11.i"
111  unreachable
112
113"32.i":                                           ; preds = %"11.i"
114  unreachable
115
116"39.i":                                           ; preds = %"11.i"
117  br i1 undef, label %"41.i", label %"40.i"
118
119"40.i":                                           ; preds = %"39.i"
120  unreachable
121
122"41.i":                                           ; preds = %"39.i"
123  %0 = call i64 @_ZNK4llvm14MachineOperand6getImmEv(i8 undef) nounwind inlinehint ; <i64> [#uses=1]
124  %1 = trunc i64 %0 to i16                        ; <i16> [#uses=1]
125  br i1 undef, label %"42.i", label %"43.i"
126
127"42.i":                                           ; preds = %"41.i"
128  unreachable
129
130"43.i":                                           ; preds = %"41.i"
131  %2 = and i16 %1, -16                            ; <i16> [#uses=1]
132  %3 = sext i16 %2 to i64                         ; <i64> [#uses=1]
133  %4 = call i8 @_ZN4llvm11raw_ostreamlsEl(i8 undef, i64 %3) nounwind ; <i8> [#uses=0]
134  unreachable
135
136_ZN12_GLOBAL__N_113SPUAsmPrinter16printInstructionEPKN4llvm12MachineInstrERNS1_11raw_ostreamE.exit: ; preds = %"6.i", %"4.i"
137  ret void
138}
139
140declare i64 @_ZNK4llvm14MachineOperand6getImmEv(i8) nounwind inlinehint align 2
141
142declare i8 @_ZN4llvm11raw_ostreamlsEl(i8, i64)
143