about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbeetrees <b@beetr.ee>2024-05-06 13:27:40 +0100
committerbeetrees <b@beetr.ee>2024-05-06 14:56:10 +0100
commit617c3f63601102be629f42941d8d1e8e9f2dcc71 (patch)
tree634212578c5beb8482d6db4cad351fc37f65f0fc
parent9a57c636e7e147184fa061aefdbb4086b305dadc (diff)
downloadrust-617c3f63601102be629f42941d8d1e8e9f2dcc71.tar.gz
rust-617c3f63601102be629f42941d8d1e8e9f2dcc71.zip
Refactor float `Primitive`s to a separate `Float` type
-rw-r--r--src/common.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/common.rs b/src/common.rs
index 2a24d6150bd..21d0cd2d30f 100644
--- a/src/common.rs
+++ b/src/common.rs
@@ -7,7 +7,7 @@ use rustc_middle::ty::layout::{
 use rustc_middle::ty::TypeFoldable;
 use rustc_span::source_map::Spanned;
 use rustc_target::abi::call::FnAbi;
-use rustc_target::abi::{Integer, Primitive};
+use rustc_target::abi::{Float, Integer, Primitive};
 use rustc_target::spec::{HasTargetSpec, Target};
 
 use crate::constant::ConstantCx;
@@ -32,10 +32,12 @@ pub(crate) fn scalar_to_clif_type(tcx: TyCtxt<'_>, scalar: Scalar) -> Type {
             Integer::I64 => types::I64,
             Integer::I128 => types::I128,
         },
-        Primitive::F16 => unimplemented!("f16_f128"),
-        Primitive::F32 => types::F32,
-        Primitive::F64 => types::F64,
-        Primitive::F128 => unimplemented!("f16_f128"),
+        Primitive::Float(float) => match float {
+            Float::F16 => unimplemented!("f16_f128"),
+            Float::F32 => types::F32,
+            Float::F64 => types::F64,
+            Float::F128 => unimplemented!("f16_f128"),
+        },
         // FIXME(erikdesjardins): handle non-default addrspace ptr sizes
         Primitive::Pointer(_) => pointer_ty(tcx),
     }