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