tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] [PATCH 11/11] riscv64-asm: Implement asm_clobber.


From: Danny Milosavljevic
Subject: [Tinycc-devel] [PATCH 11/11] riscv64-asm: Implement asm_clobber.
Date: Wed, 7 Apr 2021 13:53:14 +0200

---
 riscv64-asm.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/riscv64-asm.c b/riscv64-asm.c
index 9b41bee..30662df 100644
--- a/riscv64-asm.c
+++ b/riscv64-asm.c
@@ -694,7 +694,19 @@ ST_FUNC void asm_compute_constraints(ASMOperand *operands,
 
 ST_FUNC void asm_clobber(uint8_t *clobber_regs, const char *str)
 {
-    tcc_error("RISCV64 asm not implemented.");
+    int reg;
+    TokenSym *ts;
+
+    if (!strcmp(str, "memory") ||
+        !strcmp(str, "cc") ||
+        !strcmp(str, "flags"))
+        return;
+    ts = tok_alloc(str, strlen(str));
+    reg = asm_parse_regvar(ts->tok);
+    if (reg == -1) {
+        tcc_error("invalid clobber register '%s'", str);
+    }
+    clobber_regs[reg] = 1;
 }
 
 ST_FUNC int asm_parse_regvar (int t)
-- 
2.29.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]