38{
40 double* restrict
chi1;
44
48
52
53 if ( inc_a != 1 ||
54 inc_x != 1 ||
56
58 if ( ( unsigned long ) a % 16 != 0 )
59 {
60 if ( ( unsigned long ) x % 16 == 0 ||
61 (
unsigned long ) w % 16 == 0 )
bl1_abort();
62
64 }
65
68
72
74
76 {
79 double chi1_c = *
chi1;
81
84
86
90 }
91
92 rho1v.
v = _mm_setzero_pd();
93
94 k1v.
v = _mm_loaddup_pd( (
double* )kappa );
95
97 {
98 a1v.
v = _mm_load_pd( (
double* )
alpha1 );
99 x1v.
v = _mm_load_pd( (
double* )
chi1 );
100 w1v.
v = _mm_load_pd( (
double* )
omega1 );
101
102 a2v.
v = _mm_load_pd( (
double* )(
alpha1 + 2) );
103 x2v.
v = _mm_load_pd( (
double* )(
chi1 + 2) );
104 w2v.
v = _mm_load_pd( (
double* )(
omega1 + 2) );
105
106 rho1v.
v += a1v.
v * x1v.
v;
107 w1v.
v += k1v.
v * a1v.
v;
108
109 _mm_store_pd( (
double* )
omega1, w1v.
v );
110
111 rho1v.
v += a2v.
v * x2v.
v;
112 w2v.
v += k1v.
v * a2v.
v;
113
114 _mm_store_pd( (
double* )(
omega1 + 2), w2v.
v );
115
119 }
120
122 {
124 {
127 double chi1_c = *
chi1;
128 double omega1_c = *
omega1;
129
132
134
138 }
139 }
140
141 rho_c += rho1v.
d[0] + rho1v.
d[1];
142
144}
double alpha1_c
Definition bl1_axpyv2b.c:144
double *restrict omega1
Definition bl1_dotaxpy.c:149
double *restrict chi1
Definition bl1_dotaxpy.c:148
alpha1
Definition bl1_dotaxpy.c:338
int n_left
Definition bl1_dotaxpy.c:156
int n_pre
Definition bl1_dotaxpy.c:154
double rho_c
Definition bl1_dotaxpy.c:151
double kappa_c
Definition bl1_dotaxpy.c:150
int n_run
Definition bl1_dotaxpy.c:155
* rho
Definition bl1_dotaxpy.c:242
int i
Definition bl1_dotaxpy.c:152
Definition blis_type_defs.h:117
double d[2]
Definition blis_type_defs.h:119
__m128d v
Definition blis_type_defs.h:118
References alpha1, alpha1_c, bl1_abort(), chi1, v2df_t::d, i, kappa_c, n_left, n_pre, n_run, omega1, rho, rho_c, and v2df_t::v.
Referenced by FLA_Fused_Ahx_Ax_opd_var1(), and FLA_Fused_UZhu_ZUhu_opd_var1().