search for: bagobytes

Displaying 4 results from an estimated 4 matches for "bagobytes".

2015 Nov 03
2
Vectorizing structure reads, writes, etc on X86-64 AVX
...ld-ld-st-st sequence over this should have been converted to > llvm.memcpy by the frontend." > "The optimizer should really avoid this case by converting large > object/array copies to llvm.memcpy" > > > So for example with clang: > > $ cat copy.c > struct bagobytes { > int i0; > int i1; > }; > > void foo(struct bagobytes* a, struct bagobytes* b) { > *b = *a; > } > > $ clang -O2 copy.c -S -emit-llvm -Xclang -disable-llvm-optzns -o - > define void @foo(%struct.bagobytes* %a, %struct.bagobytes* %b) #0 { > ... > c...
2015 Oct 30
2
Vectorizing structure reads, writes, etc on X86-64 AVX
I am a first time poster, so I apologize if this is an obvious question or out of scope for LLVM. I am an LLVM user. I don't really know anything about hacking on LLVM, but I do know a bit about compilation generally. I am on x86-64 and I am interested in structure reads, writes, and constants being optimized to use vector registers when the alignment and sizes are right. I have created a
2015 Nov 03
2
Vectorizing structure reads, writes, etc on X86-64 AVX
...converted to > > llvm.memcpy by the frontend." > > "The optimizer should really avoid this case by converting large > > object/array copies to llvm.memcpy" > > > > > > So for example with clang: > > > > $ cat copy.c > > struct bagobytes { > > int i0; > > int i1; > > }; > > > > void foo(struct bagobytes* a, struct bagobytes* b) { > > *b = *a; > > } > > > > $ clang -O2 copy.c -S -emit-llvm -Xclang -disable-llvm-optzns -o - > > define void @foo(%struct.bagobytes* %a, %stru...
2015 Nov 04
2
Vectorizing structure reads, writes, etc on X86-64 AVX
...gt; > "The optimizer should really avoid this case by converting large > >> > object/array copies to llvm.memcpy" > >> > > >> > > >> > So for example with clang: > >> > > >> > $ cat copy.c > >> > struct bagobytes { > >> > int i0; > >> > int i1; > >> > }; > >> > > >> > void foo(struct bagobytes* a, struct bagobytes* b) { > >> > *b = *a; > >> > } > >> > > >> > $ clang -O2 copy.c -S -emit-llvm -Xclang -d...