LDC 0.13.0 alpha released! Please help test!

Ilya Yaroshenko ilyayaroshenko at gmail.com
Sat Feb 15 12:14:59 PST 2014


Hi Kai,

It is still does not vectorize with merge-2.064 (merge-2.065)
I use ldc2 -03 -release


ldmd2 output:

LDC - the LLVM D compiler (27c078):
      based on DMD v2.064 and LLVM 3.4
      Default target: x86_64-pc-linux-gnu
      Host CPU: core-avx-i

Examples:
==========================================================
void scale(T)(T[] a, T b)
{
        foreach(ref ae; a)
            ae *= b;
}
==========================================================

.cfi_startproc
	testq	%rdi, %rdi
	je	.LBB7_2
	.align	16, 0x90
.LBB7_1:
	vmulss	(%rsi), %xmm0, %xmm1
	vmovss	%xmm1, (%rsi)
	addq	$4, %rsi
	decq	%rdi
	jne	.LBB7_1
.LBB7_2:
	ret
==========================================================
void substract(T)(T[] c, in T[] a, in T[] b)
{
        foreach(i, ref ce; c)
            ce = a[i]-b[i];
}
==========================================================
.cfi_startproc
	pushq	%rax
.Ltmp33:
	.cfi_def_cfa_offset 16
	xorl	%eax, %eax
	testq	%r8, %r8
	je	.LBB6_4
	.align	16, 0x90
.LBB6_1:
	cmpq	%rdx, %rax
	jae	.LBB6_5
	cmpq	%rdi, %rax
	jae	.LBB6_5
	vmovsd	(%rcx,%rax,8), %xmm0
	vsubsd	(%rsi,%rax,8), %xmm0, %xmm0
	vmovsd	%xmm0, (%r9,%rax,8)
	incq	%rax
	cmpq	%r8, %rax
	jb	.LBB6_1
.LBB6_4:
	popq	%rax
	ret

==========================================================

Regards,
Ilya

On Tuesday, 4 February 2014 at 06:24:02 UTC, Kai Nacke wrote:
> On Monday, 3 February 2014 at 17:57:50 UTC, Kai Nacke wrote:
>> On Monday, 3 February 2014 at 07:37:50 UTC, Ilya Yaroshenko 
>> wrote:
>>> On Monday, 3 February 2014 at 00:12:08 UTC, bearophile wrote:
>>>> Ilya Yaroshenko:
>>>>
>>>>> There is only -vectorize-slp but no -vectorize.
>>>>
>>>> Isn't -vectorize implicit in -O3 (Perhaps even in -O2)?
>>>>
>>>> Bye,
>>>> bearophile
>>>
>>> No, even with -03 -release =(.
>>>
>>> Best Regards,
>>> Ilya
>>
>> Hi Ilya,
>>
>> your command line looks ok. I think there is a bug in the 
>> command line arguments.
>> I try to fix it now.
>>
>> Regards,
>> Kai
>
> Is fixed in the merge-2.064 branch and will be in next alpha 
> release.
>
> Regards,
> Kai


More information about the digitalmars-d-ldc mailing list