aboutsummaryrefslogtreecommitdiff
path: root/compiler/elymasGlobal.ey
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/elymasGlobal.ey')
-rw-r--r--compiler/elymasGlobal.ey17
1 files changed, 16 insertions, 1 deletions
diff --git a/compiler/elymasGlobal.ey b/compiler/elymasGlobal.ey
index 0ddc202..2363c6b 100644
--- a/compiler/elymasGlobal.ey
+++ b/compiler/elymasGlobal.ey
@@ -3446,13 +3446,28 @@
[
/rax :pushqReg
/rdx /rax :movqRegReg
- /rdx /rdx :xorqRegReg
+ :cqo
/rcx :idivqReg
/rax /rdx :movqRegReg
/rax :popqReg
] [
:fdivp
] 0 makeFullArith /eydiv defv
+ [[
+ /rax :pushqReg
+ /rdx /rax :movqRegReg
+ /rdx /rdx :xorqRegReg
+ /rcx :divqReg
+ /rax :popqReg
+ ]] [[ "umod" floatUnsupported ]] 0 makeFullArith /eyumod defv
+ [
+ /rax :pushqReg
+ /rdx /rax :movqRegReg
+ /rdx /rdx :xorqRegReg
+ /rcx :divqReg
+ /rax /rdx :movqRegReg
+ /rax :popqReg
+ ]] [[ "udiv" floatUnsupported ]] 0 makeFullArith /eyudiv defv
[[
/rcx /rcx :testqRegReg