summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/intrinsic.rs
diff options
context:
space:
mode:
authorTrevor Gross <tmgross@umich.edu>2024-07-08 12:27:26 -0400
committerTrevor Gross <tmgross@umich.edu>2024-07-08 13:59:39 -0400
commit04caa5555a23e46b9e67d809e43204fd83ca3247 (patch)
tree73e439b87058b7ceffb1b886e85bd4fb7904a36c /compiler/rustc_codegen_llvm/src/intrinsic.rs
parentcfd7cf5a0e497c238dcf9947e2eeec01837beeb4 (diff)
downloadrust-04caa5555a23e46b9e67d809e43204fd83ca3247.tar.gz
rust-04caa5555a23e46b9e67d809e43204fd83ca3247.zip
Add `f16` and `f128` as SIMD types in LLVM
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/intrinsic.rs')
-rw-r--r--compiler/rustc_codegen_llvm/src/intrinsic.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/intrinsic.rs b/compiler/rustc_codegen_llvm/src/intrinsic.rs
index e02c61cd296..68c3d47e826 100644
--- a/compiler/rustc_codegen_llvm/src/intrinsic.rs
+++ b/compiler/rustc_codegen_llvm/src/intrinsic.rs
@@ -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 = bx.cx.type_float_from_ty(*f);
             match f.bit_width() {
+                16 => ("f16", elem_ty),
                 32 => ("f32", elem_ty),
                 64 => ("f64", elem_ty),
+                128 => ("f128", elem_ty),
                 _ => return_error!(InvalidMonomorphization::FloatingPointVector {
                     span,
                     name,