Displaying 7 results from an estimated 7 matches for "imulq".
Did you mean:
imul
2015 Jul 24
2
[LLVMdev] SIMD for sdiv <2 x i64>
...i64> %sub.ptr.lhs.cast.i4.i.i.i.i,
%sub.ptr.rhs.cast.i5.i.i.i.i
%sub.ptr.div.i7.i.i.i.i = sdiv <2 x i64> %sub.ptr.sub.i6.i.i.i.i, <i64 24,
i64 24>
Assembly:
vpsubq %xmm6, %xmm5, %xmm5
vmovq %xmm5, %rax
movabsq $3074457345618258603, %rbx # imm = 0x2AAAAAAAAAAAAAAB
imulq %rbx
movq %rdx, %rcx
movq %rcx, %rax
shrq $63, %rax
shrq $2, %rcx
addl %eax, %ecx
vpextrq $1, %xmm5, %rax
imulq %rbx
movq %rdx, %rax
shrq $63, %rax
shrq $2, %rdx
addl %eax, %edx
movslq %edx, %rax
vmovq %rax...
2015 Jul 24
2
[LLVMdev] SIMD for sdiv <2 x i64>
...i
>> %sub.ptr.div.i7.i.i.i.i = sdiv <2 x i64> %sub.ptr.sub.i6.i.i.i.i, <i64 24, i64 24>
>>
>> Assembly:
>> vpsubq %xmm6, %xmm5, %xmm5
>> vmovq %xmm5, %rax
>> movabsq $3074457345618258603, %rbx # imm = 0x2AAAAAAAAAAAAAAB
>> imulq %rbx
>> movq %rdx, %rcx
>> movq %rcx, %rax
>> shrq $63, %rax
>> shrq $2, %rcx
>> addl %eax, %ecx
>> vpextrq $1, %xmm5, %rax
>> imulq %rbx
>> movq %rdx, %rax
>> shrq $63, %rax...
2015 Jul 24
0
[LLVMdev] SIMD for sdiv <2 x i64>
...%sub.ptr.div.i7.i.i.i.i = sdiv <2 x i64> %sub.ptr.sub.i6.i.i.i.i, <i64 24, i64 24>
>
> Assembly:
> vpsubq %xmm6, %xmm5, %xmm5
> vmovq %xmm5, %rax
> movabsq $3074457345618258603, %rbx # imm = 0x2AAAAAAAAAAAAAAB
> imulq %rbx
> movq %rdx, %rcx
> movq %rcx, %rax
> shrq $63, %rax...
2015 Jul 24
0
[LLVMdev] SIMD for sdiv <2 x i64>
...p), %xmm4
.LBB582_4: # %invoke.cont
vmovaps %xmm2, 96(%rsp) # 16-byte Spill
vmovdqa 48(%rsp), %xmm0 # 16-byte Reload
vpsubq %xmm0, %xmm2, %xmm0
vpextrq $1, %xmm0, %rax
movabsq $3074457345618258603, %rcx # imm = 0x2AAAAAAAAAAAAAAB
imulq %rcx
movq %rdx, %rax
shrq $63, %rax
sarq $2, %rdx
addq %rax, %rdx
vmovq %rdx, %xmm1
vmovq %xmm0, %rax
imulq %rcx
movq %rdx, %rax
shrq $63, %rax
sarq $2, %rdx
addq %rax, %rdx
vmovq %rdx, %xmm0
vpunpcklqdq %xmm1, %x...
2015 Jul 24
1
[LLVMdev] SIMD for sdiv <2 x i64>
...# %invoke.cont
> vmovaps %xmm2, 96(%rsp) # 16-byte Spill
> vmovdqa 48(%rsp), %xmm0 # 16-byte Reload
> vpsubq %xmm0, %xmm2, %xmm0
> vpextrq $1, %xmm0, %rax
> movabsq $3074457345618258603, %rcx # imm = 0x2AAAAAAAAAAAAAAB
> imulq %rcx
> movq %rdx, %rax
> shrq $63, %rax
> sarq $2, %rdx
> addq %rax, %rdx
> vmovq %rdx, %xmm1
> vmovq %xmm0, %rax
> imulq %rcx
> movq %rdx, %rax
> shrq $63, %rax
> sarq $2, %rdx
> addq %rax,...
2011 Mar 30
1
[LLVMdev] Bignums
Hello all!
I'm working on a library with bignum support, and I wanted to try LLVM
as an apparently simpler and more portable system to my current design
(a Haskell script which spits out mixed C and assembly). Porting the
script to use the LLVM bindings instead of the current hack was pretty
easy. But I have a few remaining questions:
(1) Are bignums exposed to any higher-level
2011 Apr 15
0
[LLVMdev] Scheduling - WAW Dependencies
.... However, when we look at the code generated from
such a schedule, we see this:
--------------------------------------------------
.LBB0_1: # %bb
# =>This Inner Loop Header: Depth=1
addq $-123, %rdx
leaq (%rax,%rax), %rsi
imulq %rdx, %rsi
decl %ecx
leaq 1(%rax,%rax), %rax
addq $456, %rsi # imm = 0x1C8
movq %rsi, %rdx
jne .LBB0_1
--------------------------------------------------
In this case, the flags set by "decl %ecx" are overwritten by the ones
produced by "addq $456, %rsi", whic...