Unified · Split
| @@ -1016,6 +1016,10 @@ static void asm_single_data_transfer_opcode(TCCState *s1, int token) · 1015 unmodified lines | |||
| 1016 | } | 1016 | } |
| 1017 | parse_operand(s1, &ops[2]); | 1017 | parse_operand(s1, &ops[2]); |
| 1018 | if (ops[2].type == OP_REG32) { | 1018 | if (ops[2].type == OP_REG32) { |
| 1019 | if (ops[2].reg == 15) { | ||
| 1020 | tcc_error("Using 'pc' for register offset in '%s' is not implemented by ARM", get_tok_str(token, NULL)); | ||
| 1021 | return; | ||
| 1022 | } | ||
| 1019 | if (tok == ',') { | 1023 | if (tok == ',') { |
| 1020 | next(); | 1024 | next(); |
| 1021 | opcode |= asm_parse_optional_shift(s1, &nb_shift, &shift); | 1025 | opcode |= asm_parse_optional_shift(s1, &nb_shift, &shift); |