Add f16 and f128 as SIMD types in LLVM

This commit is contained in:
Trevor Gross 2024-07-08 12:27:26 -04:00
parent cfd7cf5a0e
commit 04caa5555a

View file

@ -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,