Displaying 4 results from an estimated 4 matches for "__divti3".
Did you mean:
__divdi3
2018 Dec 01
2
Where's the optimiser gone? (part 5.a): missed tail calls, and more...
...h "-O3 -target amd64"
(see <https://godbolt.org/z/5xqYhH>):
__int128 div(__int128 foo, __int128 bar)
{
return foo / bar;
}
On the left the generated code; on the right the expected,
properly optimised code:
div: # @div
push rbp |
mov rbp, rsp |
call __divti3 | jmp __divti3
pop rbp |
ret |
__int128 mod(__int128 foo, __int128 bar)
{
return foo % bar;
}
mod: # @mod
push rbp |
mov rbp, rsp |
call __modti3 | jmp __modti3
pop rbp |
ret |
__int1...
2018 Jan 30
0
[compiler-rt] Support 128 bits soft-floating point without int128_t support
On 30 January 2018 at 14:12, Kito Cheng via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Hi all:
>
> I'm porting RISC-V[1] for compiler-rt recently, and I've got a problem
> when adding soft float routine for rv32, RISC-V ABI required 128 bits
> bits for long double, but it's implemented by int128_t, however rv32
> don't support __int128_t.
>
> Of
2018 Jan 30
2
[compiler-rt] Support 128 bits soft-floating point without int128_t support
Hi all:
I'm porting RISC-V[1] for compiler-rt recently, and I've got a problem
when adding soft float routine for rv32, RISC-V ABI required 128 bits
bits for long double, but it's implemented by int128_t, however rv32
don't support __int128_t.
Of cause, it not hard thing to support __int128_t by overriding
TargetInfo::hasInt128Type for LLVM, but its will cause some ABI
2017 Oct 07
2
Bug 20871 -- is there a fix or work around?
Ignore the suggested fix in my earlier post. How about this?
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index 20c81c3..b8ebf42 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -1632,10 +1632,11 @@ X86TargetLowering::X86TargetLowering(const X86TargetMachine &TM,
if (!Subtarget.is64Bit()) {
// These