diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2016-10-04 15:52:16 +0200 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2016-10-04 15:52:16 +0200 |
commit | d2af79a77ed2936ff0ed90cadf8e48637d774d4c (patch) | |
tree | 09300943e12a98ae80598c79d455b31725271ead /runtime/Makefile | |
parent | a44893028eb1dd434c68001234ad56d030205a8e (diff) | |
download | compcert-d2af79a77ed2936ff0ed90cadf8e48637d774d4c.tar.gz compcert-d2af79a77ed2936ff0ed90cadf8e48637d774d4c.zip |
Turn 64-bit integer division and modulus by constants into multiply-high
This trick was already implemented for 32-bit integer division and modulus. Here we extend it to the 64-bit case.
For 32-bit target processors, the runtime library must implement 64-bit multiply-high (signed and unsigned). Tentative implementations are provided for IA32 and PowerPC, but need testing.
Diffstat (limited to 'runtime/Makefile')
-rw-r--r-- | runtime/Makefile | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/Makefile b/runtime/Makefile index 59d2bb64..b94db3ca 100644 --- a/runtime/Makefile +++ b/runtime/Makefile @@ -14,6 +14,7 @@ else OBJS=i64_dtos.o i64_dtou.o i64_sar.o i64_sdiv.o i64_shl.o \ i64_shr.o i64_smod.o i64_stod.o i64_stof.o \ i64_udivmod.o i64_udiv.o i64_umod.o i64_utod.o i64_utof.o \ + i64_smulh.o i64_umulh.o \ vararg.o endif |