riscv64-asm.c: asm_emit_j: correct check of immediate

This commit is contained in:
noneofyourbusiness 2023-12-02 17:07:16 +01:00
parent 0655fd9637
commit 81a32ec305
No known key found for this signature in database
GPG key ID: FF810A8659912F5A

View file

@ -291,8 +291,9 @@ static void asm_emit_j(int token, uint32_t opcode, const Operand* rd, const Oper
imm = rs2->e.v;
if (imm >= 0x100000) {
tcc_error("'%s': Expected second source operand that is an immediate value between 0 and 0xfffff", get_tok_str(token, NULL));
/* even offsets in a +- 1 MiB range */
if (imm > 0x1ffffe) {
tcc_error("'%s': Expected second source operand that is an immediate value between 0 and 0x1fffff", get_tok_str(token, NULL));
return;
}