about summary refs log tree commit diff
path: root/compiler/rustc_target
diff options
context:
space:
mode:
authorWANG Rui <wangrui@loongson.cn>2025-06-09 22:29:59 +0800
committerWANG Rui <wangrui@loongson.cn>2025-06-10 18:50:41 +0800
commitde8a91b51c3fbc60e80a75e2859e371e7de7e1ec (patch)
treeaab88fe6e714174f40f8b2c1fa8e7a45f26fc4bc /compiler/rustc_target
parent7c10378e1fee5ddc6573b916aeb884ab10e0de17 (diff)
downloadrust-de8a91b51c3fbc60e80a75e2859e371e7de7e1ec.tar.gz
rust-de8a91b51c3fbc60e80a75e2859e371e7de7e1ec.zip
Add supported asm types for LoongArch32
Diffstat (limited to 'compiler/rustc_target')
-rw-r--r--compiler/rustc_target/src/asm/loongarch.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/rustc_target/src/asm/loongarch.rs b/compiler/rustc_target/src/asm/loongarch.rs
index b4ea6fc592a..8783d3953b1 100644
--- a/compiler/rustc_target/src/asm/loongarch.rs
+++ b/compiler/rustc_target/src/asm/loongarch.rs
@@ -34,11 +34,13 @@ impl LoongArchInlineAsmRegClass {
 
     pub fn supported_types(
         self,
-        _arch: InlineAsmArch,
+        arch: InlineAsmArch,
     ) -> &'static [(InlineAsmType, Option<Symbol>)] {
-        match self {
-            Self::reg => types! { _: I8, I16, I32, I64, F32, F64; },
-            Self::freg => types! { f: F32; d: F64; },
+        match (self, arch) {
+            (Self::reg, InlineAsmArch::LoongArch64) => types! { _: I8, I16, I32, I64, F32, F64; },
+            (Self::reg, InlineAsmArch::LoongArch32) => types! { _: I8, I16, I32, F32; },
+            (Self::freg, _) => types! { f: F32; d: F64; },
+            _ => unreachable!("unsupported register class"),
         }
     }
 }