@@ -90,6 +90,55 @@ ftype PASTEF772(ch,blasname,chc) \
9090}
9191
9292#ifdef BLIS_ENABLE_BLAS
93+ #ifdef AOCL_F2C
94+ dcomplex zdotc_
95+ (
96+ dcomplex * ret_val ,
97+ const f77_int * n ,
98+ const dcomplex * x , const f77_int * incx ,
99+ const dcomplex * y , const f77_int * incy
100+ )
101+ {
102+ AOCL_DTL_TRACE_ENTRY (AOCL_DTL_LEVEL_TRACE_1 );
103+ AOCL_DTL_LOG_DOTV_INPUTS (AOCL_DTL_LEVEL_TRACE_1 ,'Z' , 'C' , * n , * incx , * incy );
104+ dim_t n0 ;
105+ dcomplex * x0 ;
106+ dcomplex * y0 ;
107+ inc_t incx0 ;
108+ inc_t incy0 ;
109+ dcomplex rho ;
110+
111+ /* Initialize BLIS. */
112+ bli_init_auto ();
113+
114+ /* Convert/typecast negative values of n to zero. */
115+ bli_convert_blas_dim1 ( * n , n0 );
116+
117+ /* If the input increments are negative, adjust the pointers so we can
118+ use positive increments instead. */
119+ bli_convert_blas_incv ( n0 , (dcomplex * )x , * incx , x0 , incx0 );
120+ bli_convert_blas_incv ( n0 , (dcomplex * )y , * incy , y0 , incy0 );
121+
122+ /* Call BLIS interface. */
123+ PASTEMAC2 (z ,dotv ,_ex )
124+ (
125+ BLIS_CONJUGATE ,
126+ BLIS_NO_CONJUGATE ,
127+ n0 ,
128+ x0 , incx0 ,
129+ y0 , incy0 ,
130+ & rho ,
131+ NULL ,
132+ NULL
133+ );
134+
135+ AOCL_DTL_TRACE_EXIT (AOCL_DTL_LEVEL_TRACE_1 );
136+ /* Finalize BLIS. */
137+ bli_finalize_auto ();
138+ * ret_val = rho ;
139+ return rho ;
140+ }
141+ #endif
93142#ifdef BLIS_CONFIG_EPYC
94143float sdot_
95144 (
@@ -507,6 +556,7 @@ scomplex cdotc_
507556
508557 return rho ;
509558}
559+ #ifndef AOCL_F2C
510560dcomplex zdotc_
511561 (
512562 const f77_int * n ,
@@ -589,6 +639,7 @@ dcomplex zdotc_
589639
590640 return rho ;
591641}
642+ #endif
592643#else
593644INSERT_GENTFUNCDOTC_BLAS ( dot , dotv )
594645#endif
0 commit comments