[PATCH] arm-asm: Raise error if user tries to use PC for offset register of single data transfer

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] arm-asm: Raise error if user tries to use PC for offset register of single data transfer

Danny Milosavljevic
---
 arm-asm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arm-asm.c b/arm-asm.c
index 7a3d2e2..285ec5e 100644
--- a/arm-asm.c
+++ b/arm-asm.c
@@ -1016,6 +1016,10 @@ static void asm_single_data_transfer_opcode(TCCState *s1, int token)
         }
         parse_operand(s1, &ops[2]);
         if (ops[2].type == OP_REG32) {
+            if (ops[2].reg == 15) {
+                tcc_error("Using 'pc' for register offset in '%s' is not implemented by ARM", get_tok_str(token, NULL));
+                return;
+            }
             if (tok == ',') {
                 next();
                 opcode |= asm_parse_optional_shift(s1, &nb_shift, &shift);

_______________________________________________
Tinycc-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel