@@ -839,6 +839,7 @@ pub enum InlineAsmClobberAbi {
839
839
AArch64 ,
840
840
AArch64NoX18 ,
841
841
RiscV ,
842
+ LoongArch ,
842
843
}
843
844
844
845
impl InlineAsmClobberAbi {
@@ -880,6 +881,10 @@ impl InlineAsmClobberAbi {
880
881
"C" | "system" | "efiapi" => Ok ( InlineAsmClobberAbi :: RiscV ) ,
881
882
_ => Err ( & [ "C" , "system" , "efiapi" ] ) ,
882
883
} ,
884
+ InlineAsmArch :: LoongArch64 => match name {
885
+ "C" | "system" | "efiapi" => Ok ( InlineAsmClobberAbi :: LoongArch ) ,
886
+ _ => Err ( & [ "C" , "system" , "efiapi" ] ) ,
887
+ } ,
883
888
_ => Err ( & [ ] ) ,
884
889
}
885
890
}
@@ -1022,6 +1027,21 @@ impl InlineAsmClobberAbi {
1022
1027
v24, v25, v26, v27, v28, v29, v30, v31,
1023
1028
}
1024
1029
} ,
1030
+ InlineAsmClobberAbi :: LoongArch => clobbered_regs ! {
1031
+ LoongArch LoongArchInlineAsmReg {
1032
+ // ra
1033
+ r1,
1034
+ // a0-a7
1035
+ r4, r5, r6, r7, r8, r9, r10, r11,
1036
+ // t0-t8
1037
+ r12, r13, r14, r15, r16, r17, r18, r19, r20,
1038
+ // fa0-fa7
1039
+ f0, f1, f2, f3, f4, f5, f6, f7,
1040
+ // ft0-ft15
1041
+ f8, f9, f10, f11, f12, f13, f14, f15,
1042
+ f16, f17, f18, f19, f20, f21, f22, f23,
1043
+ }
1044
+ } ,
1025
1045
}
1026
1046
}
1027
1047
}
0 commit comments