@@ -839,6 +839,7 @@ pub enum InlineAsmClobberAbi {
839839 AArch64 ,
840840 AArch64NoX18 ,
841841 RiscV ,
842+ LoongArch ,
842843}
843844
844845impl InlineAsmClobberAbi {
@@ -880,6 +881,10 @@ impl InlineAsmClobberAbi {
880881 "C" | "system" | "efiapi" => Ok ( InlineAsmClobberAbi :: RiscV ) ,
881882 _ => Err ( & [ "C" , "system" , "efiapi" ] ) ,
882883 } ,
884+ InlineAsmArch :: LoongArch64 => match name {
885+ "C" | "system" | "efiapi" => Ok ( InlineAsmClobberAbi :: LoongArch ) ,
886+ _ => Err ( & [ "C" , "system" , "efiapi" ] ) ,
887+ } ,
883888 _ => Err ( & [ ] ) ,
884889 }
885890 }
@@ -1022,6 +1027,21 @@ impl InlineAsmClobberAbi {
10221027 v24, v25, v26, v27, v28, v29, v30, v31,
10231028 }
10241029 } ,
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+ } ,
10251045 }
10261046 }
10271047}
0 commit comments