1test compile
2set opt_level=speed
3set enable_pinned_reg=true
4target x86_64 haswell
5
6function u0:0(i32, i32, i32, i64 vmctx) -> i64 uext system_v {
7block0(v0: i32, v1: i32, v2: i32, v3: i64):
8    v5 = iconst.i32 -8
9    v114 = iconst.i32 0
10    v16 = iconst.i32 -8
11    v17 = popcnt v16
12    v192 = ifcmp_imm v17, -1
13    trapif ne v192, user0
14    jump block12
15
16block12:
17    v122 = iconst.i32 0
18    v123 = ushr_imm v122, 31
19    v124 = iadd v122, v123
20    v20 -> v124
21    v25 = iconst.i32 -19
22    v204 = iconst.i32 0
23    v31 -> v204
24    v210 = ifcmp_imm v31, -1
25    trapif ne v210, user0
26    jump block18
27
28block18:
29    v215 = iconst.i32 0
30    jump block19(v215)
31
32block19(v32: i32):
33    v35 = iconst.i32 0
34    v218 = ifcmp_imm v35, -1
35    trapif ne v218, user0
36    jump block21
37
38block21:
39    v223 = iconst.i32 0
40    jump block22(v223)
41
42block22(v36: i32):
43    v136 = iconst.i32 0
44    v40 -> v136
45    v227 = ifcmp_imm v136, -1
46    trapif ne v227, user0
47    jump block24
48
49block24:
50    v232 = iconst.i32 0
51    jump block25(v232)
52
53block25(v41: i32):
54    v142 = iconst.i32 0
55    v45 -> v142
56    v236 = ifcmp_imm v142, -1
57    trapif ne v236, user0
58    jump block27
59
60block27:
61    v241 = iconst.i32 0
62    jump block28(v241)
63
64block28(v46: i32):
65    v49 = iconst.i32 0
66    v244 = ifcmp_imm v49, -1
67    trapif ne v244, user0
68    jump block30
69
70block30:
71    v254 = iconst.i32 0
72    v53 -> v254
73    v54 = iconst.i32 -23
74    v55 = popcnt v54
75    v143 = iconst.i32 0x4de9_bd37
76    v260, v144 = x86_smulx v55, v143
77    v145 = iconst.i32 0
78    v146 = sshr_imm v145, 4
79    v147 = iconst.i32 0
80    v148 = iadd v146, v147
81    v57 -> v148
82    v58 = ishl v53, v148
83    jump block35
84
85block35:
86    v262 = iconst.i32 0
87    v263, v264 = x86_sdivmodx v46, v262, v58
88    v59 -> v263
89    v270 = iconst.i32 0
90    v271, v272 = x86_sdivmodx v41, v270, v59
91    v60 -> v271
92    v61 = f32const 0.0
93    v280 = iconst.i32 0
94    v281 = ffcmp v61, v61
95    trapff ord v281, user0
96    jump block41(v280)
97
98block41(v62: i32):
99    v157 = iconst.i32 0
100    v158 = sshr_imm v157, 4
101    v159 = iconst.i32 0
102    v160 = iadd v158, v159
103    v75 -> v160
104    v308 = ifcmp_imm v160, -1
105    trapif ne v308, user0
106    jump block52
107
108block52:
109    v87 = iconst.i32 -23
110    v88 = iconst.i32 -23
111    v89 = popcnt v88
112    v161 = iconst.i32 0x4de9_bd37
113    v324, v162 = x86_smulx v89, v161
114    v163 = isub v162, v89
115    v164 = sshr_imm v163, 4
116    v165 = iconst.i32 0
117    v166 = iadd v164, v165
118    v91 -> v166
119    v326 = iconst.i32 0
120    v327, v328 = x86_sdivmodx v87, v326, v166
121    v92 -> v327
122    v351 = iconst.i32 0
123    v99 -> v351
124    v358 = iconst.i32 0
125    v359, v360 = x86_sdivmodx v36, v358, v99
126    v100 -> v359
127    v102 = iconst.i32 0
128    v103 = rotr.i32 v32, v102
129    v366 = iconst.i32 0
130    v367, v368 = x86_sdivmodx v25, v366, v103
131    v104 -> v367
132    v383 = iconst.i32 0
133    v107 -> v383
134    v390 = iconst.i32 0
135    v391, v392 = x86_sdivmodx v124, v390, v107
136    trap user0
137}
138