Refactor: disabled frame pointer; consolidated unsupported register errors; added register prefix

This commit is contained in:
linux1 2021-08-23 17:32:27 -04:00
parent 0c9e23c7ce
commit 05cd587726

View File

@ -54,8 +54,8 @@ def_regs! {
r8: reg = ["r8"],
r9: reg = ["r9"],
r10: reg = ["r10"],
r11: reg = ["r11"],
r12: reg = ["r12"],
r13: reg = ["r13"],
r14: reg = ["r14"],
f0: freg = ["f0"],
f1: freg = ["f1"],
@ -73,74 +73,24 @@ def_regs! {
f13: freg = ["f13"],
f14: freg = ["f14"],
f15: freg = ["f15"],
#error = ["r13"] =>
"The base pointer cannot be used as an operand for inline asm",
#error = ["r11"] =>
"The frame pointer cannot be used as an operand for inline asm",
#error = ["r15"] =>
"The stack pointer cannot be used as an operand for inline asm",
#error = ["a0"] =>
"This pointer is reserved on s390x and cannot be used as an operand for inline asm",
#error = ["a1"] =>
"This pointer is reserved on z/Arch and cannot be used as an operand for inline asm",
#error = ["c0"] =>
"c0 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c1"] =>
"c1 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c2"] =>
"c2 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c3"] =>
"c3 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c4"] =>
"c4 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c5"] =>
"c5 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c6"] =>
"c6 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c7"] =>
"c7 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c8"] =>
"c8 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c9"] =>
"c9 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c10"] =>
"c10 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c11"] =>
"c11 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c12"] =>
"c12 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c13"] =>
"c13 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c14"] =>
"c14 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["c15"] =>
"c15 is reserved by the kernel and cannot be used as an operand for inline asm",
#error = ["a2"] =>
"a2 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a3"] =>
"a3 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a4"] =>
"a4 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a5"] =>
"a5 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a6"] =>
"a6 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a7"] =>
"a7 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a8"] =>
"a8 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a9"] =>
"a9 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a10"] =>
"a10 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a11"] =>
"a11 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a12"] =>
"a12 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a13"] =>
"a13 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a14"] =>
"a14 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = ["a15"] =>
"a15 is not supported by LLVM and cannot be used as an operand for inline asm",
#error = [
"c0", "c1", "c2", "c3",
"c4", "c5", "c6", "c7",
"c8", "c9", "c10", "c11",
"c12", "c13", "c14", "c15"
] =>
"control registers are reserved by the kernel and cannot be used as operands for inline asm",
#error = [
"a0", "a1", "a2", "a3",
"a4", "a5", "a6", "a7",
"a8", "a9", "a10", "a11",
"a12", "a13", "a14", "a15"
] =>
"access registers are not supported and cannot be used as operands for inline asm",
}
}
@ -151,6 +101,6 @@ impl S390xInlineAsmReg {
_arch: InlineAsmArch,
_modifier: Option<char>,
) -> fmt::Result {
out.write_str(self.name())
out.write_str(&format!("%{}", self.name()))
}
}