aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2015-06-09 14:48:29 +0200
committerDrahflow <drahflow@gmx.de>2015-06-09 14:48:29 +0200
commite373928159b57eea5f6f7fe78460b94061d4e114 (patch)
tree94176292af6629493ab67e964e9a7736dff5692f
parentaf06ddf8329611f4f2e073f308ae3bb23957fdb3 (diff)
Don't shlq if followed by leaq
-rw-r--r--compiler/elymasAsmLib.ey10
1 files changed, 4 insertions, 6 deletions
diff --git a/compiler/elymasAsmLib.ey b/compiler/elymasAsmLib.ey
index 191f1fb..e7b259b 100644
--- a/compiler/elymasAsmLib.ey
+++ b/compiler/elymasAsmLib.ey
@@ -525,9 +525,8 @@
@searchFreeBlockStart
/rbx /rax :movqRegReg
6 /rax :shrqImm8Reg
- 3 /rax :shlqImm8Reg
- /rax /r8 /rdx :movqMemIndexReg
- /rax /r9 /rax :movqMemIndexReg
+ 8 /rax /r8 /rdx :movqMemIndexScaleReg
+ 8 /rax /r9 /rax :movqMemIndexScaleReg
/rdx :notqReg
/rdx /rax :andqRegReg
/rbx /rcx :movqRegReg
@@ -564,9 +563,8 @@
@freeBlockContinuesAfterContinueBlock
/rbx /rax :movqRegReg
6 /rax :shrqImm8Reg
- 3 /rax :shlqImm8Reg
- /rax /r8 /rcx :movqMemIndexReg
- /rax /r9 /rax :movqMemIndexReg
+ 8 /rax /r8 /rcx :movqMemIndexScaleReg
+ 8 /rax /r9 /rax :movqMemIndexScaleReg
/rcx /rax :orqRegReg
/rbx /rcx :movqRegReg
# 63 /rcx :andqImm8Reg # no need for this, the shrq/shlq bitmasks with 63 anyway