Displaying 5 results from an estimated 5 matches for "paddb".
Did you mean:
paddr
2011 Oct 28
2
[LLVMdev] instcombine does silly things with vector x+x
Consider the following function which doubles a <16 x i8> vector:
define <16 x i8> @test(<16 x i8> %a) {
%b = add <16 x i8> %a, %a
ret <16 x i8> %b
}
If I compile it for x86 with llc like so:
llc paddb.ll -filetype=asm -o=/dev/stdout
I get a two-op function that just does paddb %xmm0 %xmm0 and then
returns. llc does this regardless of the optimization level. Great!
If I let the instcombine pass touch it like so:
opt -instcombine paddb.ll | llc -filetype=asm -o=/dev/stdout
or like so:
opt -O...
2011 Oct 28
0
[LLVMdev] instcombine does silly things with vector x+x
...wrote:
> Consider the following function which doubles a <16 x i8> vector:
>
> define <16 x i8> @test(<16 x i8> %a) {
> %b = add <16 x i8> %a, %a
> ret <16 x i8> %b
> }
>
> If I compile it for x86 with llc like so:
>
> llc paddb.ll -filetype=asm -o=/dev/stdout
>
> I get a two-op function that just does paddb %xmm0 %xmm0 and then
> returns. llc does this regardless of the optimization level. Great!
>
> If I let the instcombine pass touch it like so:
>
> opt -instcombine paddb.ll | llc -filetype=asm...
2011 Oct 30
1
[LLVMdev] instcombine does silly things with vector x+x
...wrote:
> Consider the following function which doubles a <16 x i8> vector:
>
> define <16 x i8> @test(<16 x i8> %a) {
> %b = add <16 x i8> %a, %a
> ret <16 x i8> %b
> }
>
> If I compile it for x86 with llc like so:
>
> llc paddb.ll -filetype=asm -o=/dev/stdout
>
> I get a two-op function that just does paddb %xmm0 %xmm0 and then
> returns. llc does this regardless of the optimization level. Great!
>
> If I let the instcombine pass touch it like so:
>
> opt -instcombine paddb.ll | llc -filetype=asm...
2012 Nov 28
0
[LLVMdev] [llvm-commits] [dragonegg] r168787 - in /dragonegg/trunk: src/x86/Target.cpp src/x86/x86_builtins test/validator/c/copysignp.c
...t; + Value *Sign = Builder.CreateAnd(IntRHS, SignMask);
> + Value *Abs = Builder.CreateAnd(IntLHS, ConstantExpr::getNot(SignMask));
> + Value *IntRes = Builder.CreateOr(Abs, Sign);
> + Result = Builder.CreateBitCast(IntRes, VecTy);
> + return true;
> + }
> case paddb:
> case paddw:
> case paddd:
>
> Modified: dragonegg/trunk/src/x86/x86_builtins
> URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/x86/x86_builtins?rev=168787&r1=168786&r2=168787&view=diff
> ==========================================================...
2004 Aug 24
5
MMX/mmxext optimisations
quite some speed improvement indeed.
attached the updated patch to apply to svn/trunk.
j
-------------- next part --------------
A non-text attachment was scrubbed...
Name: theora-mmx.patch.gz
Type: application/x-gzip
Size: 8648 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/theora-dev/attachments/20040824/5a5f2731/theora-mmx.patch-0001.bin