-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Open
Labels
bugIncorrect behavior in the current implementation that needs fixingIncorrect behavior in the current implementation that needs fixingcraneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generatorcranelift:area:aarch64Issues related to AArch64 backend.Issues related to AArch64 backend.cranelift:area:s390xIssues related to Cranelift's s390x backendIssues related to Cranelift's s390x backendcranelift:area:x86Issues related to x86 codegenIssues related to x86 codegen
Description
As suggested in #12171 , I am aggregating the missing lowering rules and internal errors I've encountered into a single tracking issue. I will update this list as I discover more cases.
X86_64
-
vany_turewithi8x16args (Panic:no rule matched for term bitcast_gpr_to_xmm)Click to view reproduction (.clif)
function %main() -> i8 fast { block0: v4 = iconst.i8 -29 v23 = scalar_to_vector.i8x16 v4 ; v4 = -29 v49 = vany_true v23 return v49 } ; print: %main() -
sadd_sat/usub_satwithi64x2/i32x4operandsClick to view reproduction (.clif)
function %main() -> i64x2 fast { const0 = 0x7fffffffffffffff04621ba7d10dbff0 block0: v13 = vconst.i64x2 const0 v21 = sadd_sat.i64x2 v13, v13 return v21 } ; print: %main() -
uunarrowwithi64x2operandsClick to view reproduction (.clif)
function %main() -> i32x4 { const0 = 0x7e2ac3193c260db87e307092f0285f4c block0: v0 = vconst.f64x2 const0 v1 = fcvt_to_uint_sat.i64x2 v0 v2= vconst.i64x2 [1 1] v3 = uunarrow v1, v2 jump block1 block1: return v3 } ; print: %main()
aarch64
-
band_notwithf64args (Panic:thread 'main' panicked at cranelift/codegen/src/isa/aarch64/inst/emit.rs:97:5: assertion ``left == right`` failed)Click to view reproduction (.clif)
function %main() -> f64 fast { block0: v2 = f64const 0.0 v5 = iconst.i32 -428912370 v11 = f64const 0x1.fffffffffffffp1023 v22 = iconst.i32 0 v39 = band_not v11, v2 ; v11 = 0x1.fffffffffffffp1023, v2 = 0.0 return v39 } ; print: %main()
S390x
-
bxorwithf32andf64block args (Panic:no rule matched for term aluop_xor)Click to view reproduction (.clif)
function %main() -> f64 fast { block0: v10 = f32const -0x1.fffffep127 v11 = f64const 0x1.20365be59651ap996 v21 = bxor v11, v11 ; v11 = 0x1.20365be59651ap996, v11 = 0x1.20365be59651ap996 v65 = iconst.i32 0 return v21 }
Metadata
Metadata
Assignees
Labels
bugIncorrect behavior in the current implementation that needs fixingIncorrect behavior in the current implementation that needs fixingcraneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generatorcranelift:area:aarch64Issues related to AArch64 backend.Issues related to AArch64 backend.cranelift:area:s390xIssues related to Cranelift's s390x backendIssues related to Cranelift's s390x backendcranelift:area:x86Issues related to x86 codegenIssues related to x86 codegen