mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Auto merge of #127487 - tgross35:f16-f128-simd, r=Amanieu
Add `f16` and `f128` as simd types in LLVM `@sayantn` is working on adding SIMD for `f16` and hitting the `FloatingPointVector` error. This should fix it and unblock adding support for `simd_fma` and `simd_fabs` in stdarch.
This commit is contained in:
commit
bcf1f6db45
@ -1469,8 +1469,10 @@ fn generic_simd_intrinsic<'ll, 'tcx>(
|
|||||||
let (elem_ty_str, elem_ty) = if let ty::Float(f) = in_elem.kind() {
|
let (elem_ty_str, elem_ty) = if let ty::Float(f) = in_elem.kind() {
|
||||||
let elem_ty = bx.cx.type_float_from_ty(*f);
|
let elem_ty = bx.cx.type_float_from_ty(*f);
|
||||||
match f.bit_width() {
|
match f.bit_width() {
|
||||||
|
16 => ("f16", elem_ty),
|
||||||
32 => ("f32", elem_ty),
|
32 => ("f32", elem_ty),
|
||||||
64 => ("f64", elem_ty),
|
64 => ("f64", elem_ty),
|
||||||
|
128 => ("f128", elem_ty),
|
||||||
_ => return_error!(InvalidMonomorphization::FloatingPointVector {
|
_ => return_error!(InvalidMonomorphization::FloatingPointVector {
|
||||||
span,
|
span,
|
||||||
name,
|
name,
|
||||||
|
Loading…
Reference in New Issue
Block a user