bytecodealliance / bytecodealliance/wasmtime

assertion failed: self.value_lowered_uses[*result] == 0

Closed
#14,317 2 comments 0 reactions 0 assignees View on GitHub
fuzz-bug
Dominant language
Rust
Stars
18.6k
Forks
1.8k
Avg merge
1d 18h
Merged PRs (30d)
126

Description

This input:

```
;; Compile test case

test compile
set enable_nan_canonicalization=true
set enable_llvm_abi_extensions=true
set enable_multi_ret_implicit_sret=true
set machine_code_cfg_info=true
set enable_heap_access_spectre_mitigation=false
set enable_incremental_compilation_cache_checks=true
target x86_64 has_sse3 has_cmpxchg16b has_sse41 has_sse42 has_avx_vnni has_avx512bitalg has_avx512vl has_avx512f has_avx512vnni has_popcnt has_bmi1 has_lzcnt

function u1:0(i16 sext, f32, i64x2, i32x4, i8x16, f64x2, f32x4, i16x8, i64x2, i8, i128 uext, i64 sext, i32, i8x16, f64) preserve_all {
ss0 = explicit_slot 126, align = 4
ss1 = explicit_slot 126, align = 4
ss2 = explicit_slot 126, align = 4
ss3 = explicit_slot 4, align = 4
ss4 = explicit_slot 16, align = 16
ss5 = explicit_slot 16, align = 16
ss6 = explicit_slot 16, align = 16
ss7 = explicit_slot 16, align = 16
ss8 = explicit_slot 16, align = 16
region0 = 2 "vmctx"
sig0 = () -> f32x4, f64, i16x8, f64, f64, f64, i16x8, f64, i8 sext, i16x8, i16, f64, i64, f64, f64 fast
sig1 = (f32) -> f32 system_v
sig2 = (f64) -> f64 system_v
sig3 = (f32) -> f32 system_v
sig4 = (f64) -> f64 system_v
sig5 = (f32) -> f32 system_v
sig6 = (f64) -> f64 system_v
sig7 = (f32) -> f32 system_v
sig8 = (f64) -> f64 system_v
sig9 = (f32, f32, f32) -> f32 system_v
sig10 = (f64, f64, f64) -> f64 system_v
fn0 = u2:0 sig0
fn1 = %CeilF32 sig1
fn2 = %CeilF64 sig2
fn3 = %FloorF32 sig3
fn4 = %FloorF64 sig4
fn5 = %TruncF32 sig5
fn6 = %TruncF64 sig6
fn7 = %NearestF32 sig7
fn8 = %NearestF64 sig8
fn9 = %FmaF32 sig9
fn10 = %FmaF64 sig10

block0(v0: i16, v1: f32, v2: i64x2, v3: i32x4, v4: i8x16, v5: f64x2, v6: f32x4, v7: i16x8, v8: i64x2, v9: i8, v10: i128, v11: i64, v12: i32, v13: i8x16, v14: f64):
v970 = stack_addr.i64 ss7
store notrap aligned v2, v970
v971 = stack_addr.i64 ss4
store notrap aligned v3, v971
v972 = stack_addr.i64 ss5
store notrap aligned v4, v972
v973 = stack_addr.i64 ss6
store notrap aligned v5, v973
v974 = stack_addr.i64 ss8
store notrap aligned v10, v974
v178 = iconst.i8 0
v179 = iconst.i16 0
v180 = iconst.i32 0
v181 = iconst.i64 0
v182 = uextend.i128 v181 ; v181 = 0
v183 = stack_addr.i64 ss0
store notrap region0 v182, v183
v184 = stack_addr.i64 ss0+16
store notrap region0 v182, v184
v185 = stack_addr.i64 ss0+32
store notrap region0 v182, v185
v186 = stack_addr.i64 ss0+48
store notrap region0 v182, v186
v187 = stack_addr.i64 ss0+64
store notrap region0 v182, v187
v188 = stack_addr.i64 ss0+80
store notrap region0 v182, v188
v189 = stack_addr.i64 ss0+96
store notrap region0 v182, v189
v190 = stack_addr.i64 ss0+112
store notrap region0 v181, v190 ; v181 = 0
v191 = stack_addr.i64 ss0+120
store notrap region0 v180, v191 ; v180 = 0
v192 = stack_addr.i64 ss0+124
store notrap region0 v179, v192 ; v179 = 0
v193 = stack_addr.i64 ss1
store notrap region0 v182, v193
v194 = stack_addr.i64 ss1+16
store notrap region0 v182, v194
v195 = stack_addr.i64 ss1+32
store notrap region0 v182, v195
v196 = stack_addr.i64 ss1+48
store notrap region0 v182, v196
v197 = stack_addr.i64 ss1+64
store notrap region0 v182, v197
v198 = stack_addr.i64 ss1+80
store notrap region0 v182, v198
v199 = stack_addr.i64 ss1+96
store notrap region0 v182, v199
v200 = stack_addr.i64 ss1+112
store notrap region0 v181, v200 ; v181 = 0
v201 = stack_addr.i64 ss1+120
store notrap region0 v180, v201 ; v180 = 0
v202 = stack_addr.i64 ss1+124
store notrap region0 v179, v202 ; v179 = 0
v203 = stack_addr.i64 ss2
store notrap region0 v182, v203
v204 = stack_addr.i64 ss2+16
store notrap region0 v182, v204
v205 = stack_addr.i64 ss2+32
store notrap region0 v182, v205
v206 = stack_addr.i64 ss2+48
store notrap region0 v182, v206
v207 = stack_addr.i64 ss2+64
store notrap region0 v182, v207
v208 = stack_addr.i64 ss2+80
store notrap region0 v182, v208
v209 = stack_addr.i64 ss2+96
store notrap region0 v182, v209
v210 = stack_addr.i64 ss2+112
store notrap region0 v181, v210 ; v181 = 0
v211 = stack_addr.i64 ss2+120
store notrap region0 v180, v211 ; v180 = 0
v212 = stack_addr.i64 ss2+124
store notrap region0 v179, v212 ; v179 = 0
v213 = sshr v0, v11
v214 = sshr v213, v11
v215 = sshr v214, v11
v216 = sshr v215, v11
v217 = sshr v216, v11
v968 = stack_addr.i64 ss8
v969 = load.i128 notrap aligned v968
v218 = rotr v12, v969
v967 = stack_addr.i64 ss3
store notrap aligned v218, v967
v219, v220, v221, v222, v223, v224, v225, v226, v227, v228, v229, v230, v231, v232, v233 = call fn0(), stack_map=[i64x2 @ ss7+0, i32x4 @ ss4+0, i8x16 @ ss5+0, f64x2 @ ss6+0, i128 @ ss8+0, i32 @ ss3+0]
v963 = stack_addr.i64 ss4
v964 = load.i32x4 notrap aligned v963
v965 = stack_addr.i64 ss4
v966 = load.i32x4 notrap aligned v965
v234 = smin v964, v966
v962 = stack_addr.i64 ss4
store notrap aligned v234, v962
v235 = stack_addr.i64 ss1+28
v236 = atomic_load.i64 region0 v235
v237 = stack_addr.i64 ss1+28
v238 = atomic_load.i64 region0 v237
v239 = stack_addr.i64 ss1+28
v240 = atomic_load.i64 region0 v239
v241 = stack_addr.i64 ss1+28
v242 = atomic_load.i64 region0 v241
v243 = stack_addr.i64 ss1+28
v244 = atomic_load.i64 region0 v243
v245 = stack_addr.i64 ss1+28
v246 = atomic_load.i64 region0 v245
v247, v248, v249, v250, v251, v252, v253, v254, v255, v256, v257, v258, v259, v260, v261 = call fn0(), stack_map=[i64x2 @ ss7+0, i8x16 @ ss5+0, f64x2 @ ss6+0, i128 @ ss8+0, i32 @ ss3+0, i32x4 @ ss4+0]
v958 = stack_addr.i64 ss3
v959 = load.i32 notrap aligned v958
v960 = stack_addr.i64 ss3
v961 = load.i32 notrap aligned v960
v262, v263 = smul_overflow v959, v961
v957 = stack_addr.i64 ss3
store notrap aligned v262, v957
v953 = stack_addr.i64 ss7
v954 = load.i64x2 notrap aligned v953
v955 = stack_addr.i64 ss7
v956 = load.i64x2 notrap aligned v955
v264 = select v263, v954, v956
v952 = stack_addr.i64 ss7
store notrap aligned v264, v952
v265 = stack_addr.i64 ss1+28
v266 = atomic_load.i64 region0 v265
v267 = stack_addr.i64 ss1+4
v268 = atomic_load.i64 region0 v267
v269, v270, v271, v272, v273, v274, v275, v276, v277, v278, v279, v280, v281, v282, v283 = call fn0(), stack_map=[i8x16 @ ss5+0, f64x2 @ ss6+0, i128 @ ss8+0, i32x4 @ ss4+0, i32 @ ss3+0, i64x2 @ ss7+0]
v284, v285, v286, v287, v288, v289, v290, v291, v292, v293, v294, v295, v296, v297, v298 = call fn0(), stack_map=[i8x16 @ ss5+0, f64x2 @ ss6+0, i128 @ ss8+0, i32x4 @ ss4+0, i32 @ ss3+0, i64x2 @ ss7+0]
v299 = stack_addr.i64 ss1+28
v300 = atomic_load.i64 region0 v299
v301 = stack_addr.i64 ss1+28
v302 = atomic_load.i64 region0 v301
v303 = stack_addr.i64 ss1+28
v304 = atomic_load.i64 region0 v303
v305 = stack_addr.i64 ss1+28
v306 = atomic_load.i64 region0 v305
v307 = stack_addr.i64 ss1+28
v308 = atomic_load.i64 region0 v307
v309 = stack_addr.i64 ss1+28
v310 = atomic_load.i64 region0 v309
v926 = stack_addr.i64 ss3
v927 = load.i32 notrap aligned v926
v928 = stack_addr.i64 ss3
v929 = load.i32 notrap aligned v928
v930 = stack_addr.i64 ss6
v931 = load.f64x2 notrap aligned v930
v932 = stack_addr.i64 ss6
v933 = load.f64x2 notrap aligned v932
v934 = stack_addr.i64 ss6
v935 = load.f64x2 notrap aligned v934
v936 = stack_addr.i64 ss6
v937 = load.f64x2 notrap aligned v936
v938 = stack_addr.i64 ss6
v939 = load.f64x2 notrap aligned v938
v940 = stack_addr.i64 ss6
v941 = load.f64x2 notrap aligned v940
v942 = stack_addr.i64 ss6
v943 = load.f64x2 notrap aligned v942
v944 = stack_addr.i64 ss5
v945 = load.i8x16 notrap aligned v944
v946 = stack_addr.i64 ss4
v947 = load.i32x4 notrap aligned v946
v948 = stack_addr.i64 ss7
v949 = load.i64x2 notrap aligned v948
v950 = stack_addr.i64 ss8
v951 = load.i128 notrap aligned v950
jump block1(v292, v927, v929, v293, v293, v293, v294, v293, v931, v933, v935, v937, v939, v941, v943, v945, v947, v949, v951)

block1(v15: i8, v16: i32, v17: i32, v18: i16x8, v19: i16x8, v20: i16x8, v21: i16, v22: i16x8, v23: f64x2, v24: f64x2, v25: f64x2, v26: f64x2, v27: f64x2, v28: f64x2, v29: f64x2, v770: i8x16, v771: i32x4, v773: i64x2, v775: i128):
v711 -> v17
v718 -> v17
v721 -> v17
v731 -> v17
v736 -> v17
v743 -> v17
v750 -> v17
v784 -> v17
v710 -> v770
v716 -> v770
v723 -> v770
v725 -> v770
v738 -> v770
v778 -> v770
v791 -> v770
v715 -> v771
v724 -> v771
v737 -> v771
v746 -> v771
v772 -> v771
v777 -> v771
v790 -> v771
v717 -> v773
v729 -> v773
v741 -> v773
v749 -> v773
v774 -> v773
v782 -> v773
v794 -> v773
v719 -> v775
v732 -> v775
v744 -> v775
v751 -> v775
v776 -> v775
v785 -> v775
v796 -> v775
v920 = stack_addr.i64 ss3
store notrap aligned v17, v920
v921 = stack_addr.i64 ss8
store notrap aligned v29, v921
v922 = stack_addr.i64 ss7
store notrap aligned v770, v922
v923 = stack_addr.i64 ss4
store notrap aligned v771, v923
v924 = stack_addr.i64 ss5
store notrap aligned v773, v924
v925 = stack_addr.i64 ss6
store notrap aligned v775, v925
v311 = stack_addr.i64 ss1+97
v312 = atomic_load.i64 region0 v311
v313 = smulhi v21, v21
v314, v315, v316, v317, v318, v319, v320, v321, v322, v323, v324, v325, v326, v327, v328 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v329, v330, v331, v332, v333, v334, v335, v336, v337, v338, v339, v340, v341, v342, v343 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v344, v345, v346, v347, v348, v349, v350, v351, v352, v353, v354, v355, v356, v357, v358 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v359, v360, v361, v362, v363, v364, v365, v366, v367, v368, v369, v370, v371, v372, v373 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v374, v375, v376, v377, v378, v379, v380, v381, v382, v383, v384, v385, v386, v387, v388 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v389, v390, v391, v392, v393, v394, v395, v396, v397, v398, v399, v400, v401, v402, v403 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v404, v405, v406, v407, v408, v409, v410, v411, v412, v413, v414, v415, v416, v417, v418 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v419, v420, v421, v422, v423, v424, v425, v426, v427, v428, v429, v430, v431, v432, v433 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v434, v435, v436, v437, v438, v439, v440, v441, v442, v443, v444, v445, v446, v447, v448 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v449, v450, v451, v452, v453, v454, v455, v456, v457, v458, v459, v460, v461, v462, v463 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v464, v465, v466, v467, v468, v469, v470, v471, v472, v473, v474, v475, v476, v477, v478 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v479, v480, v481, v482, v483, v484, v485, v486, v487, v488, v489, v490, v491, v492, v493 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v494, v495, v496, v497, v498, v499, v500, v501, v502, v503, v504, v505, v506, v507, v508 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v509, v510, v511, v512, v513, v514, v515, v516, v517, v518, v519, v520, v521, v522, v523 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v524, v525, v526, v527, v528, v529, v530, v531, v532, v533, v534, v535, v536, v537, v538 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v539, v540, v541, v542, v543, v544, v545, v546, v547, v548, v549, v550, v551, v552, v553 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v554, v555, v556, v557, v558, v559, v560, v561, v562, v563, v564, v565, v566, v567, v568 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v569, v570, v571, v572, v573, v574, v575, v576, v577, v578, v579, v580, v581, v582, v583 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v584, v585, v586, v587, v588, v589, v590, v591, v592, v593, v594, v595, v596, v597, v598 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v599, v600, v601, v602, v603, v604, v605, v606, v607, v608, v609, v610, v611, v612, v613 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v614, v615, v616, v617, v618, v619, v620, v621, v622, v623, v624, v625, v626, v627, v628 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v629, v630, v631, v632, v633, v634, v635, v636, v637, v638, v639, v640, v641, v642, v643 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v644, v645, v646, v647, v648, v649, v650, v651, v652, v653, v654, v655, v656, v657, v658 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v659, v660, v661, v662, v663, v664, v665, v666, v667, v668, v669, v670, v671, v672, v673 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v674, v675, v676, v677, v678, v679, v680, v681, v682, v683, v684, v685, v686, v687, v688 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v689, v690, v691, v692, v693, v694, v695, v696, v697, v698, v699, v700, v701, v702, v703 = call fn0(), stack_map=[i32 @ ss3+0, f64x2 @ ss8+0, i8x16 @ ss7+0, i32x4 @ ss4+0, i64x2 @ ss5+0, i128 @ ss6+0]
v706 -> v689
v713 -> v689
v708 -> v697
v714 -> v697
v705 -> v698
v712 -> v698
v709 -> v699
v722 -> v699
v707 -> v701
v704 -> v703
v904 = stack_addr.i64 ss8
v905 = load.f64x2 notrap aligned v904
v906 = stack_addr.i64 ss8
v907 = load.f64x2 notrap aligned v906
v908 = stack_addr.i64 ss8
v909 = load.f64x2 notrap aligned v908
v910 = stack_addr.i64 ss8
v911 = load.f64x2 notrap aligned v910
v912 = stack_addr.i64 ss8
v913 = load.f64x2 notrap aligned v912
v914 = stack_addr.i64 ss8
v915 = load.f64x2 notrap aligned v914
v916 = stack_addr.i64 ss8
v917 = load.f64x2 notrap aligned v916
v918 = stack_addr.i64 ss8
v919 = load.f64x2 notrap aligned v918
brif v697, block2(v905, v907, v909, v911, v913, v915, v917), block4(v703, v703, v703, v703, v703, v703, v703, v703, v703, v697, v697, v703, v698, v689, v703, v919, v701)

block2(v30: f64x2, v31: f64x2, v32: f64x2, v33: f64x2, v34: f64x2, v35: f64x2, v36: f64x2):
v892 = stack_addr.i64 ss3
v893 = load.i32 notrap aligned v892
v894 = stack_addr.i64 ss7
v895 = load.i8x16 notrap aligned v894
v896 = stack_addr.i64 ss7
v897 = load.i8x16 notrap aligned v896
v898 = stack_addr.i64 ss7
v899 = load.i8x16 notrap aligned v898
v900 = stack_addr.i64 ss7
v901 = load.i8x16 notrap aligned v900
v902 = stack_addr.i64 ss3
v903 = load.i32 notrap aligned v902
br_table v893, block3(v36, v703, v701, v703, v703, v703, v703), [block16(v703, v698, v703, v703, v703, v703, v703, v703, v703, v689, v701, v697, v697, v697, v703), block15(v699, v703, v703, v701, v703, v698, v689, v697), block3(v36, v703, v701, v703, v703, v703, v703), block5(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v36, v689, v698, v697, v701, v703), block4(v703, v703, v703, v703, v703, v703, v703, v703, v703, v697, v697, v703, v698, v689, v703, v36, v701), block14(v36, v36, v36, v36, v36, v36, v895, v699, v703, v701, v698, v689, v697), block3(v36, v703, v701, v703, v703, v703, v703), block6(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v36, v689, v698, v697, v701, v703), block5(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v36, v689, v698, v697, v701, v703), block15(v699, v703, v703, v701, v703, v698, v689, v697), block13(v36, v36, v36, v36, v36, v36, v36, v897, v699, v703, v701, v698, v689, v697), block8(v699, v699, v699, v699, v699, v699, v698, v703, v703, v703, v36, v689, v697, v701), block3(v36, v703, v701, v703, v703, v703, v703), block11(v899, v703, v901, v697, v903, v698, v699, v36, v689, v701), block15(v699, v703, v703, v701, v703, v698, v689, v697)]

block3(v37: f64x2, v38: f64, v39: i64, v40: f64, v41: f64, v42: f64, v43: f64):
v880 = stack_addr.i64 ss3
v881 = load.i32 notrap aligned v880
v882 = stack_addr.i64 ss4
v883 = load.i32x4 notrap aligned v882
v884 = stack_addr.i64 ss7
v885 = load.i8x16 notrap aligned v884
v886 = stack_addr.i64 ss5
v887 = load.i64x2 notrap aligned v886
v888 = stack_addr.i64 ss3
v889 = load.i32 notrap aligned v888
v890 = stack_addr.i64 ss6
v891 = load.i128 notrap aligned v890
br_table v881, block4(v43, v43, v43, v43, v43, v43, v43, v43, v43, v697, v697, v43, v698, v689, v43, v37, v39), [block16(v43, v698, v43, v43, v43, v43, v43, v43, v43, v689, v39, v697, v697, v697, v43), block16(v43, v698, v43, v43, v43, v43, v43, v43, v43, v689, v39, v697, v697, v697, v43), block16(v43, v698, v43, v43, v43, v43, v43, v43, v43, v689, v39, v697, v697, v697, v43), block16(v43, v698, v43, v43, v43, v43, v43, v43, v43, v689, v39, v697, v697, v697, v43), block16(v43, v698, v43, v43, v43, v43, v43, v43, v43, v689, v39, v697, v697, v697, v43), block16(v43, v698, v43, v43, v43, v43, v43, v43, v43, v689, v39, v697, v697, v697, v43), block10(v883, v885, v37, v689, v698, v887, v697, v889, v891, v698, v39, v37, v43, v699)]

block4(v44: f64, v45: f64, v46: f64, v47: f64, v48: f64, v49: f64, v50: f64, v51: f64, v52: f64, v53: i8, v54: i8, v55: f64, v56: i16x8, v57: f32x4, v58: f64, v720: f64x2, v787: i64):
v848 = stack_addr.i64 ss3
v849 = load.i32 notrap aligned v848
v850 = stack_addr.i64 ss7
v851 = load.i8x16 notrap aligned v850
v852 = stack_addr.i64 ss7
v853 = load.i8x16 notrap aligned v852
v854 = stack_addr.i64 ss7
v855 = load.i8x16 notrap aligned v854
v856 = stack_addr.i64 ss7
v857 = load.i8x16 notrap aligned v856
v858 = stack_addr.i64 ss3
v859 = load.i32 notrap aligned v858
v860 = stack_addr.i64 ss3
v861 = load.i32 notrap aligned v860
v862 = stack_addr.i64 ss7
v863 = load.i8x16 notrap aligned v862
v864 = stack_addr.i64 ss4
v865 = load.i32x4 notrap aligned v864
v866 = stack_addr.i64 ss5
v867 = load.i64x2 notrap aligned v866
v868 = stack_addr.i64 ss6
v869 = load.i128 notrap aligned v868
v870 = stack_addr.i64 ss7
v871 = load.i8x16 notrap aligned v870
v872 = stack_addr.i64 ss7
v873 = load.i8x16 notrap aligned v872
v874 = stack_addr.i64 ss7
v875 = load.i8x16 notrap aligned v874
v876 = stack_addr.i64 ss7
v877 = load.i8x16 notrap aligned v876
v878 = stack_addr.i64 ss7
v879 = load.i8x16 notrap aligned v878
br_table v849, block5(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v720, v57, v56, v54, v787, v58), [block13(v720, v720, v720, v720, v720, v720, v720, v851, v699, v58, v787, v56, v57, v54), block13(v720, v720, v720, v720, v720, v720, v720, v853, v699, v58, v787, v56, v57, v54), block13(v720, v720, v720, v720, v720, v720, v720, v855, v699, v58, v787, v56, v57, v54), block13(v720, v720, v720, v720, v720, v720, v720, v857, v699, v58, v787, v56, v57, v54), block1(v54, v859, v861, v56, v56, v56, v699, v56, v720, v720, v720, v720, v720, v720, v720, v863, v865, v867, v869), block14(v720, v720, v720, v720, v720, v720, v871, v699, v58, v787, v56, v57, v54), block13(v720, v720, v720, v720, v720, v720, v720, v873, v699, v58, v787, v56, v57, v54), block13(v720, v720, v720, v720, v720, v720, v720, v875, v699, v58, v787, v56, v57, v54), block8(v699, v699, v699, v699, v699, v699, v56, v58, v58, v58, v720, v57, v54, v787), block13(v720, v720, v720, v720, v720, v720, v720, v877, v699, v58, v787, v56, v57, v54), block13(v720, v720, v720, v720, v720, v720, v720, v879, v699, v58, v787, v56, v57, v54), block5(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v720, v57, v56, v54, v787, v58), block5(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v720, v57, v56, v54, v787, v58), block5(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v720, v57, v56, v54, v787, v58), block7(v699, v699, v699, v699, v699, v699, v699, v699, v699, v699, v56, v58, v720, v57, v54, v787)]

block5(v59: i16, v60: i16, v61: i16, v62: i16, v63: i16, v64: i16, v65: i16, v66: i16, v67: i16, v68: i16, v779: f64x2, v780: f32x4, v781: i16x8, v783: i8, v786: i64, v789: f64) cold:
jump block6(v68, v68, v68, v68, v68, v68, v68, v68, v68, v68, v779, v780, v781, v783, v786, v789)

block6(v69: i16, v70: i16, v71: i16, v72: i16, v73: i16, v74: i16, v75: i16, v76: i16, v77: i16, v78: i16, v726: f64x2, v727: f32x4, v728: i16x8, v730: i8, v733: i64, v788: f64) cold:
v836 = stack_addr.i64 ss3
v837 = load.i32 notrap aligned v836
v838 = stack_addr.i64 ss4
v839 = load.i32x4 notrap aligned v838
v840 = stack_addr.i64 ss7
v841 = load.i8x16 notrap aligned v840
v842 = stack_addr.i64 ss5
v843 = load.i64x2 notrap aligned v842
v844 = stack_addr.i64 ss3
v845 = load.i32 notrap aligned v844
v846 = stack_addr.i64 ss6
v847 = load.i128 notrap aligned v846
br_table v837, block7(v78, v78, v78, v78, v78, v78, v78, v78, v78, v78, v728, v788, v726, v727, v730, v733), [block10(v839, v841, v726, v727, v728, v843, v730, v845, v847, v728, v733, v726, v788, v78)]

block7(v79: i16, v80: i16, v81: i16, v82: i16, v83: i16, v84: i16, v85: i16, v86: i16, v87: i16, v88: i16, v734: i16x8, v735: f64, v792: f64x2, v793: f32x4, v795: i8, v797: i64) cold:
v834 = stack_addr.i64 ss3
v835 = load.i32 notrap aligned v834
br_table v835, block8(v88, v88, v88, v88, v88, v88, v734, v735, v735, v735, v792, v793, v795, v797), []

block8(v89: i16, v90: i16, v91: i16, v92: i16, v93: i16, v94: i16, v95: i16x8, v96: f64, v97: f64, v98: f64, v739: f64x2, v740: f32x4, v742: i8, v745: i64) cold:
v747 -> v739
v748 -> v740
v818 = stack_addr.i64 ss3
v819 = load.i32 notrap aligned v818
v820 = stack_addr.i64 ss7
v821 = load.i8x16 notrap aligned v820
v822 = stack_addr.i64 ss4
v823 = load.i32x4 notrap aligned v822
v824 = stack_addr.i64 ss7
v825 = load.i8x16 notrap aligned v824
v826 = stack_addr.i64 ss5
v827 = load.i64x2 notrap aligned v826
v828 = stack_addr.i64 ss3
v829 = load.i32 notrap aligned v828
v830 = stack_addr.i64 ss6
v831 = load.i128 notrap aligned v830
v832 = stack_addr.i64 ss7
v833 = load.i8x16 notrap aligned v832
br_table v819, block9(v742, v95, v95, v94, v98, v98, v745, v98, v98, v98, v98, v98, v821, v94, v742), [block10(v823, v825, v739, v740, v95, v827, v742, v829, v831, v95, v745, v739, v98, v94), block9(v742, v95, v95, v94, v98, v98, v745, v98, v98, v98, v98, v98, v833, v94, v742), block15(v94, v98, v98, v745, v98, v95, v740, v742)]

block9(v99: i8, v100: i16x8, v101: i16x8, v102: i16, v103: f64, v104: f64, v105: i64, v106: f64, v107: f64, v108: f64, v109: f64, v110: f64, v111: i8x16, v112: i16, v113: i8):
v808 = stack_addr.i64 ss3
v809 = load.i32 notrap aligned v808
v810 = stack_addr.i64 ss4
v811 = load.i32x4 notrap aligned v810
v812 = stack_addr.i64 ss5
v813 = load.i64x2 notrap aligned v812
v814 = stack_addr.i64 ss3
v815 = load.i32 notrap aligned v814
v816 = stack_addr.i64 ss6
v817 = load.i128 notrap aligned v816
br_table v809, block10(v811, v111, v739, v740, v101, v813, v113, v815, v817, v101, v105, v739, v110, v112), [block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113), block15(v112, v110, v110, v105, v110, v101, v740, v113)]

block10(v114: i32x4, v115: i8x16, v116: f64x2, v117: f32x4, v118: i16x8, v119: i64x2, v120: i8, v121: i32, v122: i128, v123: i16x8, v124: i64, v125: f64x2, v752: f64, v798: i16) cold:
brif v120, block11(v115, v752, v115, v120, v121, v123, v798, v125, v117, v124), block13(v125, v125, v125, v125, v125, v125, v125, v115, v798, v752, v124, v123, v117, v120)

block11(v126: i8x16, v127: f64, v128: i8x16, v753: i8, v754: i32, v755: i16x8, v756: i16, v757: f64x2, v758: f32x4, v759: i64):
v760 -> v127
v762 -> v758
v761 -> v759
brif v753, block12(v753, v754, v754, v755, v755, v755, v756, v755, v757, v757, v757, v757, v757, v757, v757), block16(v127, v755, v127, v127, v127, v127, v127, v127, v127, v758, v759, v753, v753, v753, v127)

block12(v129: i8, v130: i32, v131: i32, v132: i16x8, v133: i16x8, v134: i16x8, v135: i16, v136: i16x8, v137: f64x2, v138: f64x2, v139: f64x2, v140: f64x2, v141: f64x2, v142: f64x2, v143: f64x2):
br_table v131, block13(v143, v143, v143, v143, v143, v143, v143, v128, v135, v760, v761, v136, v762, v129), [block15(v135, v760, v760, v761, v760, v136, v762, v129), block15(v135, v760, v760, v761, v760, v136, v762, v129), block15(v135, v760, v760, v761, v760, v136, v762, v129), block13(v143, v143, v143, v143, v143, v143, v143, v128, v135, v760, v761, v136, v762, v129), block13(v143, v143, v143, v143, v143, v143, v143, v128, v135, v760, v761, v136, v762, v129), block16(v760, v136, v760, v760, v760, v760, v760, v760, v760, v762, v761, v129, v129, v129, v760), block16(v760, v136, v760, v760, v760, v760, v760, v760, v760, v762, v761, v129, v129, v129, v760)]

block13(v144: f64x2, v145: f64x2, v146: f64x2, v147: f64x2, v148: f64x2, v149: f64x2, v150: f64x2, v763: i8x16, v799: i16, v800: f64, v801: i64, v803: i16x8, v805: f32x4, v807: i8):
jump block14(v150, v150, v150, v150, v150, v150, v763, v799, v800, v801, v803, v805, v807)

block14(v151: f64x2, v152: f64x2, v153: f64x2, v154: f64x2, v155: f64x2, v156: f64x2, v157: i8x16, v764: i16, v765: f64, v766: i64, v802: i16x8, v804: f32x4, v806: i8):
jump block15(v764, v765, v765, v766, v765, v802, v804, v806)

block15(v158: i16, v159: f64, v160: f64, v161: i64, v162: f64, v767: i16x8, v768: f32x4, v769: i8):
jump block16(v162, v767, v162, v162, v162, v162, v162, v162, v162, v768, v161, v769, v769, v769, v162)

block16(v163: f64, v164: i16x8, v165: f64, v166: f64, v167: f64, v168: f64, v169: f64, v170: f64, v171: f64, v172: f32x4, v173: i64, v174: i8, v175: i8, v176: i8, v177: f64):
return
}
```

fails with:

```
$ cargo run -p cranelift-tools test foo.clif
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.08s
Running `target/debug/clif-util test foo.clif`

thread 'worker #1' (660502) panicked at cranelift/codegen/src/machinst/lower.rs:1787:13:
assertion failed: self.value_lowered_uses[*result] == 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[2026-09-11T15:36:11Z ERROR cranelift_filetests::concurrent] FAIL: panicked in worker #1: assertion failed: self.value_lowered_uses[*result] == 0
FAIL foo.clif: panicked in worker #1: assertion failed: self.value_lowered_uses[*result] == 0
1 tests
Error: 1 failure
```

cc #14271 and @cfallin

upstream issue is https://oss-fuzz.com/testcase-detail/5010448555245568 with the reported regression range as https://github.com/bytecodealliance/wasmtime/compare/f6b3140dbb1d9b436ef523d14740292c956b0364...bf330493f4352546ee2a3435eeb85d75d6328f1b where I suspect https://github.com/bytecodealliance/wasmtime/pull/14254 is probably the cause (didn't bisect myself though)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.