-
Notifications
You must be signed in to change notification settings - Fork 298
Closed
Description
/// Convert the lower double-precision (64-bit) floating-point element in a to a 64-bit integer.
#[inline(always)]
#[target_feature = "+sse2"]
#[cfg_attr(test, assert_instr(cvtsd2si))]
pub unsafe fn _mm_cvtsd_si64(a: f64x2) -> i64 {
cvtsd2si64(a)
}
....
#[link_name = "llvm.x86.sse2.cvtsd2si64"]
fn cvtsd2si64(a: f64x2) -> i64;
fails to build with
ExpandIntegerResult #0: t12: i64 = llvm.x86.sse2.cvtsd2si64 TargetConstant:i32<5716>, t10
Do not know how to expand the result of this operator!
UNREACHABLE executed at /checkout/src/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:1279!
error: Could not compile `stdsimd`.
https://travis-ci.org/rust-lang-nursery/stdsimd/jobs/281644652
EDIT:
looks like _mm_cvttsd_si64
is also failing
/// Convert the lower double-precision (64-bit) floating-point element in `a` to a 64-bit integer
/// with truncation.
#[inline(always)]
#[target_feature = "+sse2"]
#[cfg_attr(test, assert_instr(cvttsd2si))]
pub unsafe fn _mm_cvttsd_si64(a: f64x2) -> i64 {
cvttsd2si64(a)
}
ExpandIntegerResult #0: t12: i64 = llvm.x86.sse2.cvttsd2si64 TargetConstant:i32<5724>, t10
Do not know how to expand the result of this operator!
UNREACHABLE executed at /checkout/src/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:1279!
error: Could not compile `stdsimd`.
https://travis-ci.org/rust-lang-nursery/stdsimd/jobs/281653879
Metadata
Metadata
Assignees
Labels
No labels