asm: loongarch64: Implementation of clobber_abi
This commit is contained in:
parent
74c4821045
commit
08fc451771
@ -839,6 +839,7 @@ pub enum InlineAsmClobberAbi {
|
|||||||
AArch64,
|
AArch64,
|
||||||
AArch64NoX18,
|
AArch64NoX18,
|
||||||
RiscV,
|
RiscV,
|
||||||
|
LoongArch,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl InlineAsmClobberAbi {
|
impl InlineAsmClobberAbi {
|
||||||
@ -880,6 +881,10 @@ impl InlineAsmClobberAbi {
|
|||||||
"C" | "system" | "efiapi" => Ok(InlineAsmClobberAbi::RiscV),
|
"C" | "system" | "efiapi" => Ok(InlineAsmClobberAbi::RiscV),
|
||||||
_ => Err(&["C", "system", "efiapi"]),
|
_ => Err(&["C", "system", "efiapi"]),
|
||||||
},
|
},
|
||||||
|
InlineAsmArch::LoongArch64 => match name {
|
||||||
|
"C" | "system" | "efiapi" => Ok(InlineAsmClobberAbi::LoongArch),
|
||||||
|
_ => Err(&["C", "system", "efiapi"]),
|
||||||
|
},
|
||||||
_ => Err(&[]),
|
_ => Err(&[]),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1022,6 +1027,21 @@ impl InlineAsmClobberAbi {
|
|||||||
v24, v25, v26, v27, v28, v29, v30, v31,
|
v24, v25, v26, v27, v28, v29, v30, v31,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
InlineAsmClobberAbi::LoongArch => clobbered_regs! {
|
||||||
|
LoongArch LoongArchInlineAsmReg {
|
||||||
|
// ra
|
||||||
|
r1,
|
||||||
|
// a0-a7
|
||||||
|
r4, r5, r6, r7, r8, r9, r10, r11,
|
||||||
|
// t0-t8
|
||||||
|
r12, r13, r14, r15, r16, r17, r18, r19, r20,
|
||||||
|
// fa0-fa7
|
||||||
|
f0, f1, f2, f3, f4, f5, f6, f7,
|
||||||
|
// ft0-ft15
|
||||||
|
f8, f9, f10, f11, f12, f13, f14, f15,
|
||||||
|
f16, f17, f18, f19, f20, f21, f22, f23,
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user