aboutsummaryrefslogtreecommitdiffstats
path: root/src/ortho/mcode/ortho_code-x86-abi.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2015-01-22 04:41:41 +0100
committerTristan Gingold <tgingold@free.fr>2015-01-22 04:41:41 +0100
commitbcd53686ad09a434a81fc8ccf092ed16f454cd5c (patch)
tree6620d84eaecba8401d77ec527e329d82ed5c4cfb /src/ortho/mcode/ortho_code-x86-abi.adb
parent7bd624acc9a4b1c3e8b362e3eb586e4a66b28a5d (diff)
downloadghdl-bcd53686ad09a434a81fc8ccf092ed16f454cd5c.tar.gz
ghdl-bcd53686ad09a434a81fc8ccf092ed16f454cd5c.tar.bz2
ghdl-bcd53686ad09a434a81fc8ccf092ed16f454cd5c.zip
ortho_code-x86-abi: add moddi3 intrinsic for jit.
Diffstat (limited to 'src/ortho/mcode/ortho_code-x86-abi.adb')
-rw-r--r--src/ortho/mcode/ortho_code-x86-abi.adb7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ortho/mcode/ortho_code-x86-abi.adb b/src/ortho/mcode/ortho_code-x86-abi.adb
index 81e3b2099..36072ab3a 100644
--- a/src/ortho/mcode/ortho_code-x86-abi.adb
+++ b/src/ortho/mcode/ortho_code-x86-abi.adb
@@ -761,6 +761,9 @@ package body Ortho_Code.X86.Abi is
function Muldi3 (A, B : Long_Integer) return Long_Integer;
pragma Import (C, Muldi3, "__muldi3");
+ function Moddi3 (A, B : Long_Integer) return Long_Integer;
+ pragma Import (C, Moddi3, "__moddi3");
+
procedure Chkstk (Sz : Integer);
pragma Import (C, Chkstk, "__chkstk");
@@ -775,6 +778,10 @@ package body Ortho_Code.X86.Abi is
(Ortho_Code.X86.Emits.Intrinsics_Symbol
(Ortho_Code.X86.Intrinsic_Div_Ov_I64),
Divdi3'Address);
+ Binary_File.Memory.Set_Symbol_Address
+ (Ortho_Code.X86.Emits.Intrinsics_Symbol
+ (Ortho_Code.X86.Intrinsic_Mod_Ov_I64),
+ Moddi3'Address);
if X86.Flags.Flag_Alloca_Call then
Binary_File.Memory.Set_Symbol_Address
(Ortho_Code.X86.Emits.Chkstk_Symbol, Chkstk'Address);