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...