summaryrefslogtreecommitdiffstats
path: root/src/code-generation.c
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw44@gmail.com>2015-12-31 20:49:13 +0800
committerTing-Wei Lan <lantw44@gmail.com>2015-12-31 20:49:13 +0800
commit1ee3320a0b86e1d34c2b52fc8d4b4c760978c6f4 (patch)
treed254193e9edc5c91b0359ae97f8f387e20af7bff /src/code-generation.c
parent90ed3cf4fce713e014a60e42c75b25505fc91613 (diff)
downloadcompiler2015-1ee3320a0b86e1d34c2b52fc8d4b4c760978c6f4.tar.gz
compiler2015-1ee3320a0b86e1d34c2b52fc8d4b4c760978c6f4.tar.zst
compiler2015-1ee3320a0b86e1d34c2b52fc8d4b4c760978c6f4.zip
Immediate is only safe to when the number is <= 4096
Diffstat (limited to 'src/code-generation.c')
-rw-r--r--src/code-generation.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/code-generation.c b/src/code-generation.c
index 1510898..59e47ad 100644
--- a/src/code-generation.c
+++ b/src/code-generation.c
@@ -155,7 +155,7 @@ static void generate_block(
current_offset = generate_local_variable(local, state, current_offset);
offset_diff = current_offset - orig_offset;
if (offset_diff > 0) {
- if (offset_diff >= 65536) {
+ if (offset_diff > 4096) {
CcmmcTmp *tmp = ccmmc_register_alloc(state->reg_pool);
const char *reg_name = ccmmc_register_lock(state->reg_pool, tmp);
fprintf(state->asm_output,
@@ -175,7 +175,7 @@ static void generate_block(
generate_statement(stmt, state, current_offset);
}
if (offset_diff > 0) {
- if (offset_diff >= 65536) {
+ if (offset_diff > 4096) {
CcmmcTmp *tmp = ccmmc_register_alloc(state->reg_pool);
const char *reg_name = ccmmc_register_lock(state->reg_pool, tmp);
fprintf(state->asm_output,