@@ -226,6 +226,7 @@ pub enum InlineAsmArch {
226
226
RiscV64 ,
227
227
Nvptx64 ,
228
228
Hexagon ,
229
+ LoongArch32 ,
229
230
LoongArch64 ,
230
231
Mips ,
231
232
Mips64 ,
@@ -260,6 +261,7 @@ impl FromStr for InlineAsmArch {
260
261
"powerpc" => Ok ( Self :: PowerPC ) ,
261
262
"powerpc64" => Ok ( Self :: PowerPC64 ) ,
262
263
"hexagon" => Ok ( Self :: Hexagon ) ,
264
+ "loongarch32" => Ok ( Self :: LoongArch32 ) ,
263
265
"loongarch64" => Ok ( Self :: LoongArch64 ) ,
264
266
"mips" | "mips32r6" => Ok ( Self :: Mips ) ,
265
267
"mips64" | "mips64r6" => Ok ( Self :: Mips64 ) ,
@@ -365,7 +367,9 @@ impl InlineAsmReg {
365
367
Self :: PowerPC ( PowerPCInlineAsmReg :: parse ( name) ?)
366
368
}
367
369
InlineAsmArch :: Hexagon => Self :: Hexagon ( HexagonInlineAsmReg :: parse ( name) ?) ,
368
- InlineAsmArch :: LoongArch64 => Self :: LoongArch ( LoongArchInlineAsmReg :: parse ( name) ?) ,
370
+ InlineAsmArch :: LoongArch32 | InlineAsmArch :: LoongArch64 => {
371
+ Self :: LoongArch ( LoongArchInlineAsmReg :: parse ( name) ?)
372
+ }
369
373
InlineAsmArch :: Mips | InlineAsmArch :: Mips64 => {
370
374
Self :: Mips ( MipsInlineAsmReg :: parse ( name) ?)
371
375
}
@@ -652,7 +656,9 @@ impl InlineAsmRegClass {
652
656
Self :: PowerPC ( PowerPCInlineAsmRegClass :: parse ( name) ?)
653
657
}
654
658
InlineAsmArch :: Hexagon => Self :: Hexagon ( HexagonInlineAsmRegClass :: parse ( name) ?) ,
655
- InlineAsmArch :: LoongArch64 => Self :: LoongArch ( LoongArchInlineAsmRegClass :: parse ( name) ?) ,
659
+ InlineAsmArch :: LoongArch32 | InlineAsmArch :: LoongArch64 => {
660
+ Self :: LoongArch ( LoongArchInlineAsmRegClass :: parse ( name) ?)
661
+ }
656
662
InlineAsmArch :: Mips | InlineAsmArch :: Mips64 => {
657
663
Self :: Mips ( MipsInlineAsmRegClass :: parse ( name) ?)
658
664
}
@@ -860,7 +866,7 @@ pub fn allocatable_registers(
860
866
hexagon:: fill_reg_map ( arch, reloc_model, target_features, target, & mut map) ;
861
867
map
862
868
}
863
- InlineAsmArch :: LoongArch64 => {
869
+ InlineAsmArch :: LoongArch32 | InlineAsmArch :: LoongArch64 => {
864
870
let mut map = loongarch:: regclass_map ( ) ;
865
871
loongarch:: fill_reg_map ( arch, reloc_model, target_features, target, & mut map) ;
866
872
map
@@ -992,7 +998,7 @@ impl InlineAsmClobberAbi {
992
998
"C" | "system" => Ok ( InlineAsmClobberAbi :: Avr ) ,
993
999
_ => Err ( & [ "C" , "system" ] ) ,
994
1000
} ,
995
- InlineAsmArch :: LoongArch64 => match name {
1001
+ InlineAsmArch :: LoongArch32 | InlineAsmArch :: LoongArch64 => match name {
996
1002
"C" | "system" => Ok ( InlineAsmClobberAbi :: LoongArch ) ,
997
1003
_ => Err ( & [ "C" , "system" ] ) ,
998
1004
} ,
0 commit comments