search for: su3_matrix

Displaying 3 results from an estimated 3 matches for "su3_matrix".

2019 Aug 05
2
LLVM crashing while trying to build SPEC with Clang
Hello, I am building the SPEC 2006 Benchmark with Clang as the compiler. I have written a function pass in LLVM and I am trying to run that for SPEC by invoking the pass in the build options of SPEC. The build options of SPEC are in a *.cfg config file, which allows us to specify the choice of compiler while building SPEC. (https://www.spec.org/cpu2006/Docs/install-guide-unix.html) The pass
2018 Sep 20
3
Aliasing rules difference between GCC and Clang
...used, another value is stored, and then the first value is loaded once again before its second use. This happens many times, with three loads instead of one for each value. GCC only emits one load. The values are the arguments to this function: void su3_projector( su3_vector *a, su3_vector *b, su3_matrix *c ){ register int i,j; register double tmp,tmp2;     for(i=0;i<3;i++)for(j=0;j<3;j++){         tmp2 = a->c[i].real * b->c[j].real;         tmp = a->c[i].imag * b->c[j].imag;         c->e[i][j].real = tmp + tmp2;         tmp2 = a->c[i].real * b->c[j].imag;         t...
2018 Sep 21
2
Aliasing rules difference between GCC and Clang
...he first value is loaded > once again before its second use. This happens many times, with > three loads instead of one for each value. GCC only emits one load. > > The values are the arguments to this function: > > void su3_projector( su3_vector *a, su3_vector *b, su3_matrix *c ){ > register int i,j; > register double tmp,tmp2; >     for(i=0;i<3;i++)for(j=0;j<3;j++){ >         tmp2 = a->c[i].real * b->c[j].real; >         tmp = a->c[i].imag * b->c[j].imag; >         c->e[i][j].real = tmp + tmp2; >   ...