search for: su3_projector

Displaying 2 results from an estimated 2 matches for "su3_projector".

2018 Sep 20
3
Aliasing rules difference between GCC and Clang
...uses. In other words, a value is loaded and 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-&...
2018 Sep 21
2
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-...