Float comparisons (at least) on half make llc hang when using simd128
https://godbolt.org/z/nd8M99bnM
define <8 x i16> @foo(<8 x half> %x) {
start:
%1 = fcmp oeq <8 x half> %x, zeroinitializer
%2 = sext <8 x i1> %1 to <8 x i16>
ret <8 x i16> %2
}
this one also hangs
define <8 x i1> @compare_oeq_v8f16 (<8 x half> %x, <8 x half> %y) {
%res = fcmp oeq <8 x half> %x, %y
ret <8 x i1> %res
}
based on some basic debugging it might be a loop in type legalization. But I'm not really sure what's going on or how to narrow this down really.
found in rust-lang/portable-simd#513.
Float comparisons (at least) on
halfmakellchang when usingsimd128https://godbolt.org/z/nd8M99bnM
this one also hangs
based on some basic debugging it might be a loop in type legalization. But I'm not really sure what's going on or how to narrow this down really.
found in rust-lang/portable-simd#513.