search for: paddb

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