You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Makefile.L1 27 kB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
12 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905
  1. FMAFLAG=
  2. ifndef OLDGCC
  3. ifdef HAVE_FMA3
  4. FMAFLAG = -mfma
  5. endif
  6. endif
  7. #override CFLAGS += -fno-tree-vectorize
  8. ### AMAX ###
  9. ifndef SAMAXKERNEL
  10. SAMAXKERNEL = amax.S
  11. endif
  12. ifndef DAMAXKERNEL
  13. DAMAXKERNEL = amax.S
  14. endif
  15. ifndef QAMAXKERNEL
  16. QAMAXKERNEL = amax.S
  17. endif
  18. ifndef CAMAXKERNEL
  19. CAMAXKERNEL = zamax.S
  20. endif
  21. ifndef ZAMAXKERNEL
  22. ZAMAXKERNEL = zamax.S
  23. endif
  24. ifndef XAMAXKERNEL
  25. XAMAXKERNEL = zamax.S
  26. endif
  27. ### AMIN ###
  28. ifndef SAMINKERNEL
  29. SAMINKERNEL = amin.S
  30. endif
  31. ifndef DAMINKERNEL
  32. DAMINKERNEL = amin.S
  33. endif
  34. ifndef QAMINKERNEL
  35. QAMINKERNEL = amin.S
  36. endif
  37. ifndef CAMINKERNEL
  38. CAMINKERNEL = zamin.S
  39. endif
  40. ifndef ZAMINKERNEL
  41. ZAMINKERNEL = zamin.S
  42. endif
  43. ifndef XAMINKERNEL
  44. XAMINKERNEL = zamin.S
  45. endif
  46. ### MAX ###
  47. ifndef SMAXKERNEL
  48. SMAXKERNEL = max.S
  49. endif
  50. ifndef DMAXKERNEL
  51. DMAXKERNEL = max.S
  52. endif
  53. ifndef QMAXKERNEL
  54. QMAXKERNEL = max.S
  55. endif
  56. ### MIN ###
  57. ifndef SMINKERNEL
  58. SMINKERNEL = min.S
  59. endif
  60. ifndef DMINKERNEL
  61. DMINKERNEL = min.S
  62. endif
  63. ifndef QMINKERNEL
  64. QMINKERNEL = min.S
  65. endif
  66. ### IAMAX ###
  67. ifndef ISAMAXKERNEL
  68. ISAMAXKERNEL = iamax.S
  69. endif
  70. ifndef IDAMAXKERNEL
  71. IDAMAXKERNEL = iamax.S
  72. endif
  73. ifndef IQAMAXKERNEL
  74. IQAMAXKERNEL = iamax.S
  75. endif
  76. ifndef ICAMAXKERNEL
  77. ICAMAXKERNEL = izamax.S
  78. endif
  79. ifndef IZAMAXKERNEL
  80. IZAMAXKERNEL = izamax.S
  81. endif
  82. ifndef IXAMAXKERNEL
  83. IXAMAXKERNEL = izamax.S
  84. endif
  85. ### IAMIN ###
  86. ifndef ISAMINKERNEL
  87. ISAMINKERNEL = iamin.S
  88. endif
  89. ifndef IDAMINKERNEL
  90. IDAMINKERNEL = iamin.S
  91. endif
  92. ifndef IQAMINKERNEL
  93. IQAMINKERNEL = iamin.S
  94. endif
  95. ifndef ICAMINKERNEL
  96. ICAMINKERNEL = izamin.S
  97. endif
  98. ifndef IZAMINKERNEL
  99. IZAMINKERNEL = izamin.S
  100. endif
  101. ifndef IXAMINKERNEL
  102. IXAMINKERNEL = izamin.S
  103. endif
  104. ### IMAX ###
  105. ifndef ISMAXKERNEL
  106. ISMAXKERNEL = iamax.S
  107. endif
  108. ifndef IDMAXKERNEL
  109. IDMAXKERNEL = iamax.S
  110. endif
  111. ifndef IQMAXKERNEL
  112. IQMAXKERNEL = iamax.S
  113. endif
  114. ### IMIN ###
  115. ifndef ISMINKERNEL
  116. ISMINKERNEL = iamin.S
  117. endif
  118. ifndef IDMINKERNEL
  119. IDMINKERNEL = iamin.S
  120. endif
  121. ifndef IQMINKERNEL
  122. IQMINKERNEL = iamin.S
  123. endif
  124. ### ASUM ###
  125. ifndef SASUMKERNEL
  126. SASUMKERNEL = asum.S
  127. endif
  128. ifndef DASUMKERNEL
  129. DASUMKERNEL = asum.S
  130. endif
  131. ifndef CASUMKERNEL
  132. CASUMKERNEL = zasum.S
  133. endif
  134. ifndef ZASUMKERNEL
  135. ZASUMKERNEL = zasum.S
  136. endif
  137. ifndef QASUMKERNEL
  138. QASUMKERNEL = asum.S
  139. endif
  140. ifndef XASUMKERNEL
  141. XASUMKERNEL = zasum.S
  142. endif
  143. ### AXPY ###
  144. ifndef SAXPYKERNEL
  145. SAXPYKERNEL = axpy.S
  146. endif
  147. ifndef DAXPYKERNEL
  148. DAXPYKERNEL = axpy.S
  149. endif
  150. ifndef CAXPYKERNEL
  151. CAXPYKERNEL = zaxpy.S
  152. endif
  153. ifndef ZAXPYKERNEL
  154. ZAXPYKERNEL = zaxpy.S
  155. endif
  156. ifndef QAXPYKERNEL
  157. QAXPYKERNEL = axpy.S
  158. endif
  159. ifndef XAXPYKERNEL
  160. XAXPYKERNEL = zaxpy.S
  161. endif
  162. ### COPY ###
  163. ifndef SCOPYKERNEL
  164. SCOPYKERNEL = copy.S
  165. endif
  166. ifndef DCOPYKERNEL
  167. DCOPYKERNEL = copy.S
  168. endif
  169. ifndef CCOPYKERNEL
  170. CCOPYKERNEL = zcopy.S
  171. endif
  172. ifndef ZCOPYKERNEL
  173. ZCOPYKERNEL = zcopy.S
  174. endif
  175. ifndef QCOPYKERNEL
  176. QCOPYKERNEL = copy.S
  177. endif
  178. ifndef XCOPYKERNEL
  179. XCOPYKERNEL = zcopy.S
  180. endif
  181. ### DOT ###
  182. ifndef SDOTKERNEL
  183. SDOTKERNEL = dot.S
  184. endif
  185. ifndef DDOTKERNEL
  186. DDOTKERNEL = dot.S
  187. endif
  188. ifndef CDOTKERNEL
  189. CDOTKERNEL = zdot.S
  190. endif
  191. ifndef ZDOTKERNEL
  192. ZDOTKERNEL = zdot.S
  193. endif
  194. ifndef QDOTKERNEL
  195. QDOTKERNEL = dot.S
  196. endif
  197. ifndef XDOTKERNEL
  198. XDOTKERNEL = zdot.S
  199. endif
  200. ifeq ($(BUILD_BFLOAT16),1)
  201. ifndef SBDOTKERNEL
  202. SBDOTKERNEL = ../x86_64/sbdot.c
  203. endif
  204. ifndef TOBF16KERNEL
  205. TOBF16KERNEL = ../x86_64/tobf16.c
  206. endif
  207. ifndef BF16TOKERNEL
  208. BF16TOKERNEL = ../x86_64/bf16to.c
  209. endif
  210. endif
  211. ### NRM2 ###
  212. ifndef SNRM2KERNEL
  213. SNRM2KERNEL = nrm2.S
  214. endif
  215. ifndef DNRM2KERNEL
  216. DNRM2KERNEL = nrm2.S
  217. endif
  218. ifndef QNRM2KERNEL
  219. QNRM2KERNEL = nrm2.S
  220. endif
  221. ifndef CNRM2KERNEL
  222. CNRM2KERNEL = znrm2.S
  223. endif
  224. ifndef ZNRM2KERNEL
  225. ZNRM2KERNEL = znrm2.S
  226. endif
  227. ifndef XNRM2KERNEL
  228. XNRM2KERNEL = znrm2.S
  229. endif
  230. ### ROT ###
  231. ifndef SROTKERNEL
  232. SROTKERNEL = rot.S
  233. endif
  234. ifndef DROTKERNEL
  235. DROTKERNEL = rot.S
  236. endif
  237. ifndef QROTKERNEL
  238. QROTKERNEL = rot.S
  239. endif
  240. ifndef CROTKERNEL
  241. CROTKERNEL = zrot.S
  242. endif
  243. ifndef ZROTKERNEL
  244. ZROTKERNEL = zrot.S
  245. endif
  246. ifndef XROTKERNEL
  247. XROTKERNEL = zrot.S
  248. endif
  249. ### SCAL ###
  250. ifndef SSCALKERNEL
  251. SSCALKERNEL = scal.S
  252. endif
  253. ifndef DSCALKERNEL
  254. DSCALKERNEL = scal.S
  255. endif
  256. ifndef CSCALKERNEL
  257. CSCALKERNEL = zscal.S
  258. endif
  259. ifndef ZSCALKERNEL
  260. ZSCALKERNEL = zscal.S
  261. endif
  262. ifndef QSCALKERNEL
  263. QSCALKERNEL = scal.S
  264. endif
  265. ifndef XSCALKERNEL
  266. XSCALKERNEL = zscal.S
  267. endif
  268. ### SUM ###
  269. ifndef SSUMKERNEL
  270. SSUMKERNEL = sum.S
  271. endif
  272. ifndef DSUMKERNEL
  273. DSUMKERNEL = sum.S
  274. endif
  275. ifndef CSUMKERNEL
  276. CSUMKERNEL = zsum.S
  277. endif
  278. ifndef ZSUMKERNEL
  279. ZSUMKERNEL = zsum.S
  280. endif
  281. ifndef QSUMKERNEL
  282. QSUMKERNEL = sum.S
  283. endif
  284. ifndef XSUMKERNEL
  285. XSUMKERNEL = zsum.S
  286. endif
  287. ### SWAP ###
  288. ifndef SSWAPKERNEL
  289. SSWAPKERNEL = swap.S
  290. endif
  291. ifndef DSWAPKERNEL
  292. DSWAPKERNEL = swap.S
  293. endif
  294. ifndef CSWAPKERNEL
  295. CSWAPKERNEL = zswap.S
  296. endif
  297. ifndef ZSWAPKERNEL
  298. ZSWAPKERNEL = zswap.S
  299. endif
  300. ifndef QSWAPKERNEL
  301. QSWAPKERNEL = swap.S
  302. endif
  303. ifndef XSWAPKERNEL
  304. XSWAPKERNEL = zswap.S
  305. endif
  306. ### GEMV ###
  307. ifndef SGEMVNKERNEL
  308. SGEMVNKERNEL = gemv_n.S
  309. endif
  310. ifndef SGEMVTKERNEL
  311. SGEMVTKERNEL = gemv_t.S
  312. endif
  313. ifndef DGEMVNKERNEL
  314. DGEMVNKERNEL = gemv_n.S
  315. endif
  316. ifndef DGEMVTKERNEL
  317. DGEMVTKERNEL = gemv_t.S
  318. endif
  319. ifndef CGEMVNKERNEL
  320. CGEMVNKERNEL = zgemv_n.S
  321. endif
  322. ifndef CGEMVTKERNEL
  323. CGEMVTKERNEL = zgemv_t.S
  324. endif
  325. ifndef ZGEMVNKERNEL
  326. ZGEMVNKERNEL = zgemv_n.S
  327. endif
  328. ifndef ZGEMVTKERNEL
  329. ZGEMVTKERNEL = zgemv_t.S
  330. endif
  331. ifndef QGEMVNKERNEL
  332. QGEMVNKERNEL = gemv_n.S
  333. endif
  334. ifndef QGEMVTKERNEL
  335. QGEMVTKERNEL = gemv_t.S
  336. endif
  337. ifndef XGEMVNKERNEL
  338. XGEMVNKERNEL = zgemv_n.S
  339. endif
  340. ifndef XGEMVTKERNEL
  341. XGEMVTKERNEL = zgemv_t.S
  342. endif
  343. ifndef SCABS_KERNEL
  344. SCABS_KERNEL = cabs.S
  345. endif
  346. ifndef DCABS_KERNEL
  347. DCABS_KERNEL = cabs.S
  348. endif
  349. ifndef QCABS_KERNEL
  350. QCABS_KERNEL = cabs.S
  351. endif
  352. ifndef LSAME_KERNEL
  353. LSAME_KERNEL = lsame.S
  354. endif
  355. ### AXPBY ###
  356. ifndef SAXPBYKERNEL
  357. SAXPBYKERNEL = ../arm/axpby.c
  358. endif
  359. ifndef DAXPBYKERNEL
  360. DAXPBYKERNEL = ../arm/axpby.c
  361. endif
  362. ifndef CAXPBYKERNEL
  363. CAXPBYKERNEL = ../arm/zaxpby.c
  364. endif
  365. ifndef ZAXPBYKERNEL
  366. ZAXPBYKERNEL = ../arm/zaxpby.c
  367. endif
  368. SBLASOBJS += \
  369. samax_k$(TSUFFIX).$(SUFFIX) samin_k$(TSUFFIX).$(SUFFIX) smax_k$(TSUFFIX).$(SUFFIX) smin_k$(TSUFFIX).$(SUFFIX) \
  370. isamax_k$(TSUFFIX).$(SUFFIX) isamin_k$(TSUFFIX).$(SUFFIX) ismax_k$(TSUFFIX).$(SUFFIX) ismin_k$(TSUFFIX).$(SUFFIX) \
  371. sasum_k$(TSUFFIX).$(SUFFIX) ssum_k$(TSUFFIX).$(SUFFIX) saxpy_k$(TSUFFIX).$(SUFFIX) scopy_k$(TSUFFIX).$(SUFFIX) \
  372. sdot_k$(TSUFFIX).$(SUFFIX) sdsdot_k$(TSUFFIX).$(SUFFIX) dsdot_k$(TSUFFIX).$(SUFFIX) \
  373. snrm2_k$(TSUFFIX).$(SUFFIX) srot_k$(TSUFFIX).$(SUFFIX) sscal_k$(TSUFFIX).$(SUFFIX) sswap_k$(TSUFFIX).$(SUFFIX) \
  374. saxpby_k$(TSUFFIX).$(SUFFIX)
  375. DBLASOBJS += \
  376. damax_k$(TSUFFIX).$(SUFFIX) damin_k$(TSUFFIX).$(SUFFIX) dmax_k$(TSUFFIX).$(SUFFIX) dmin_k$(TSUFFIX).$(SUFFIX) \
  377. idamax_k$(TSUFFIX).$(SUFFIX) idamin_k$(TSUFFIX).$(SUFFIX) idmax_k$(TSUFFIX).$(SUFFIX) idmin_k$(TSUFFIX).$(SUFFIX) \
  378. dasum_k$(TSUFFIX).$(SUFFIX) daxpy_k$(TSUFFIX).$(SUFFIX) dcopy_k$(TSUFFIX).$(SUFFIX) ddot_k$(TSUFFIX).$(SUFFIX) \
  379. dnrm2_k$(TSUFFIX).$(SUFFIX) drot_k$(TSUFFIX).$(SUFFIX) dscal_k$(TSUFFIX).$(SUFFIX) dswap_k$(TSUFFIX).$(SUFFIX) \
  380. daxpby_k$(TSUFFIX).$(SUFFIX) dsum_k$(TSUFFIX).$(SUFFIX)
  381. QBLASOBJS += \
  382. qamax_k$(TSUFFIX).$(SUFFIX) qamin_k$(TSUFFIX).$(SUFFIX) qmax_k$(TSUFFIX).$(SUFFIX) qmin_k$(TSUFFIX).$(SUFFIX) \
  383. iqamax_k$(TSUFFIX).$(SUFFIX) iqamin_k$(TSUFFIX).$(SUFFIX) iqmax_k$(TSUFFIX).$(SUFFIX) iqmin_k$(TSUFFIX).$(SUFFIX) \
  384. qasum_k$(TSUFFIX).$(SUFFIX) qaxpy_k$(TSUFFIX).$(SUFFIX) qcopy_k$(TSUFFIX).$(SUFFIX) qdot_k$(TSUFFIX).$(SUFFIX) \
  385. qnrm2_k$(TSUFFIX).$(SUFFIX) qrot_k$(TSUFFIX).$(SUFFIX) qscal_k$(TSUFFIX).$(SUFFIX) qswap_k$(TSUFFIX).$(SUFFIX) \
  386. qsum_k$(TSUFFIX).$(SUFFIX)
  387. CBLASOBJS += \
  388. camax_k$(TSUFFIX).$(SUFFIX) camin_k$(TSUFFIX).$(SUFFIX) icamax_k$(TSUFFIX).$(SUFFIX) icamin_k$(TSUFFIX).$(SUFFIX) \
  389. casum_k$(TSUFFIX).$(SUFFIX) caxpy_k$(TSUFFIX).$(SUFFIX) caxpyc_k$(TSUFFIX).$(SUFFIX) ccopy_k$(TSUFFIX).$(SUFFIX) \
  390. cdotc_k$(TSUFFIX).$(SUFFIX) cdotu_k$(TSUFFIX).$(SUFFIX) cnrm2_k$(TSUFFIX).$(SUFFIX) csrot_k$(TSUFFIX).$(SUFFIX) \
  391. cscal_k$(TSUFFIX).$(SUFFIX) cswap_k$(TSUFFIX).$(SUFFIX) caxpby_k$(TSUFFIX).$(SUFFIX) csum_k$(TSUFFIX).$(SUFFIX)
  392. ZBLASOBJS += \
  393. zamax_k$(TSUFFIX).$(SUFFIX) zamin_k$(TSUFFIX).$(SUFFIX) izamax_k$(TSUFFIX).$(SUFFIX) izamin_k$(TSUFFIX).$(SUFFIX) \
  394. zasum_k$(TSUFFIX).$(SUFFIX) zaxpy_k$(TSUFFIX).$(SUFFIX) zaxpyc_k$(TSUFFIX).$(SUFFIX) zcopy_k$(TSUFFIX).$(SUFFIX) \
  395. zdotc_k$(TSUFFIX).$(SUFFIX) zdotu_k$(TSUFFIX).$(SUFFIX) znrm2_k$(TSUFFIX).$(SUFFIX) zdrot_k$(TSUFFIX).$(SUFFIX) \
  396. zscal_k$(TSUFFIX).$(SUFFIX) zswap_k$(TSUFFIX).$(SUFFIX) zaxpby_k$(TSUFFIX).$(SUFFIX) zsum_k$(TSUFFIX).$(SUFFIX)
  397. XBLASOBJS += \
  398. xamax_k$(TSUFFIX).$(SUFFIX) xamin_k$(TSUFFIX).$(SUFFIX) ixamax_k$(TSUFFIX).$(SUFFIX) ixamin_k$(TSUFFIX).$(SUFFIX) \
  399. xasum_k$(TSUFFIX).$(SUFFIX) xaxpy_k$(TSUFFIX).$(SUFFIX) xaxpyc_k$(TSUFFIX).$(SUFFIX) xcopy_k$(TSUFFIX).$(SUFFIX) \
  400. xdotc_k$(TSUFFIX).$(SUFFIX) xdotu_k$(TSUFFIX).$(SUFFIX) xnrm2_k$(TSUFFIX).$(SUFFIX) xqrot_k$(TSUFFIX).$(SUFFIX) \
  401. xscal_k$(TSUFFIX).$(SUFFIX) xswap_k$(TSUFFIX).$(SUFFIX) xsum_k$(TSUFFIX).$(SUFFIX)
  402. ifeq ($(BUILD_BFLOAT16),1)
  403. SBBLASOBJS += \
  404. sbdot_k$(TSUFFIX).$(SUFFIX)
  405. SBEXTOBJS += \
  406. sbstobf16_k$(TSUFFIX).$(SUFFIX) sbdtobf16_k$(TSUFFIX).$(SUFFIX)
  407. SBEXTOBJS += \
  408. sbf16tos_k$(TSUFFIX).$(SUFFIX) dbf16tod_k$(TSUFFIX).$(SUFFIX)
  409. endif
  410. ### AMAX ###
  411. $(KDIR)samax_k$(TSUFFIX).$(SUFFIX) $(KDIR)samax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SAMAXKERNEL)
  412. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  413. $(KDIR)damax_k$(TSUFFIX).$(SUFFIX) $(KDIR)damax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DAMAXKERNEL)
  414. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  415. $(KDIR)qamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)qamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QAMAXKERNEL)
  416. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  417. $(KDIR)camax_k$(TSUFFIX).$(SUFFIX) $(KDIR)camax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CAMAXKERNEL)
  418. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  419. $(KDIR)zamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)zamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZAMAXKERNEL)
  420. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  421. $(KDIR)xamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)xamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XAMAXKERNEL)
  422. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  423. ### AMIN ###
  424. $(KDIR)samin_k$(TSUFFIX).$(SUFFIX) $(KDIR)samin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SAMINKERNEL)
  425. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  426. $(KDIR)damin_k$(TSUFFIX).$(SUFFIX) $(KDIR)damin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DAMINKERNEL)
  427. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  428. $(KDIR)qamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)qamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QAMINKERNEL)
  429. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  430. $(KDIR)camin_k$(TSUFFIX).$(SUFFIX) $(KDIR)camin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CAMINKERNEL)
  431. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  432. $(KDIR)zamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)zamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZAMINKERNEL)
  433. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  434. $(KDIR)xamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)xamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XAMINKERNEL)
  435. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  436. ### MAX ###
  437. $(KDIR)smax_k$(TSUFFIX).$(SUFFIX) $(KDIR)smax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SMAXKERNEL)
  438. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -UUSE_ABS -UUSE_MIN $< -o $@
  439. $(KDIR)dmax_k$(TSUFFIX).$(SUFFIX) $(KDIR)dmax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DMAXKERNEL)
  440. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -UUSE_ABS -UUSE_MIN $< -o $@
  441. $(KDIR)qmax_k$(TSUFFIX).$(SUFFIX) $(KDIR)qmax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QMAXKERNEL)
  442. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -UUSE_ABS -UUSE_MIN $< -o $@
  443. ### MIN ###
  444. $(KDIR)smin_k$(TSUFFIX).$(SUFFIX) $(KDIR)smin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SMINKERNEL)
  445. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -UUSE_ABS -DUSE_MIN $< -o $@
  446. $(KDIR)dmin_k$(TSUFFIX).$(SUFFIX) $(KDIR)dmin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DMINKERNEL)
  447. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -UUSE_ABS -DUSE_MIN $< -o $@
  448. $(KDIR)qmin_k$(TSUFFIX).$(SUFFIX) $(KDIR)qmin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QMINKERNEL)
  449. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -UUSE_ABS -DUSE_MIN $< -o $@
  450. ### IAMAX ###
  451. $(KDIR)isamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)isamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ISAMAXKERNEL)
  452. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  453. $(KDIR)idamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)idamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IDAMAXKERNEL)
  454. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  455. $(KDIR)iqamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)iqamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IQAMAXKERNEL)
  456. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  457. $(KDIR)icamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)icamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ICAMAXKERNEL)
  458. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  459. $(KDIR)izamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)izamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IZAMAXKERNEL)
  460. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  461. $(KDIR)ixamax_k$(TSUFFIX).$(SUFFIX) $(KDIR)ixamax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IXAMAXKERNEL)
  462. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUSE_ABS -UUSE_MIN $< -o $@
  463. ### IAMIN ###
  464. $(KDIR)isamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)isamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ISAMINKERNEL)
  465. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  466. $(KDIR)idamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)idamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IDAMINKERNEL)
  467. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  468. $(KDIR)iqamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)iqamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IQAMINKERNEL)
  469. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  470. $(KDIR)icamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)icamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ICAMINKERNEL)
  471. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  472. $(KDIR)izamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)izamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IZAMINKERNEL)
  473. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  474. $(KDIR)ixamin_k$(TSUFFIX).$(SUFFIX) $(KDIR)ixamin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IXAMINKERNEL)
  475. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DUSE_ABS -DUSE_MIN $< -o $@
  476. ### IMAX ###
  477. $(KDIR)ismax_k$(TSUFFIX).$(SUFFIX) $(KDIR)ismax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ISMAXKERNEL)
  478. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -UUSE_ABS -UUSE_MIN $< -o $@
  479. $(KDIR)idmax_k$(TSUFFIX).$(SUFFIX) $(KDIR)idmax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IDMAXKERNEL)
  480. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -UUSE_ABS -UUSE_MIN $< -o $@
  481. $(KDIR)iqmax_k$(TSUFFIX).$(SUFFIX) $(KDIR)iqmax_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IQMAXKERNEL)
  482. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -UUSE_ABS -UUSE_MIN $< -o $@
  483. ### IMIN ###
  484. $(KDIR)ismin_k$(TSUFFIX).$(SUFFIX) $(KDIR)ismin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ISMINKERNEL)
  485. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -UUSE_ABS -DUSE_MIN $< -o $@
  486. $(KDIR)idmin_k$(TSUFFIX).$(SUFFIX) $(KDIR)idmin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IDMINKERNEL)
  487. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -UUSE_ABS -DUSE_MIN $< -o $@
  488. $(KDIR)iqmin_k$(TSUFFIX).$(SUFFIX) $(KDIR)iqmin_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(IQMINKERNEL)
  489. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -UUSE_ABS -DUSE_MIN $< -o $@
  490. ### ASUM ###
  491. $(KDIR)sasum_k$(TSUFFIX).$(SUFFIX) $(KDIR)sasum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SASUMKERNEL)
  492. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE $< -o $@
  493. $(KDIR)dasum_k$(TSUFFIX).$(SUFFIX) $(KDIR)dasum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DASUMKERNEL)
  494. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE $< -o $@
  495. $(KDIR)qasum_k$(TSUFFIX).$(SUFFIX) $(KDIR)qasum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QASUMKERNEL)
  496. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@
  497. $(KDIR)casum_k$(TSUFFIX).$(SUFFIX) $(KDIR)casum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CASUMKERNEL)
  498. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE $< -o $@
  499. $(KDIR)zasum_k$(TSUFFIX).$(SUFFIX) $(KDIR)zasum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZASUMKERNEL)
  500. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE $< -o $@
  501. $(KDIR)xasum_k$(TSUFFIX).$(SUFFIX) $(KDIR)xasum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XASUMKERNEL)
  502. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE $< -o $@
  503. ### SUM ###
  504. $(KDIR)ssum_k$(TSUFFIX).$(SUFFIX) $(KDIR)ssum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SSUMKERNEL)
  505. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE $< -o $@
  506. $(KDIR)dsum_k$(TSUFFIX).$(SUFFIX) $(KDIR)dsum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DSUMKERNEL)
  507. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE $< -o $@
  508. $(KDIR)qsum_k$(TSUFFIX).$(SUFFIX) $(KDIR)qsum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QSUMKERNEL)
  509. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@
  510. $(KDIR)csum_k$(TSUFFIX).$(SUFFIX) $(KDIR)csum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CSUMKERNEL)
  511. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE $< -o $@
  512. $(KDIR)zsum_k$(TSUFFIX).$(SUFFIX) $(KDIR)zsum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZSUMKERNEL)
  513. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE $< -o $@
  514. $(KDIR)xsum_k$(TSUFFIX).$(SUFFIX) $(KDIR)xsum_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XSUMKERNEL)
  515. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE $< -o $@
  516. ### AXPY ###
  517. $(KDIR)saxpy_k$(TSUFFIX).$(SUFFIX) $(KDIR)saxpy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SAXPYKERNEL)
  518. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE $< -o $@
  519. $(KDIR)daxpy_k$(TSUFFIX).$(SUFFIX) $(KDIR)daxpy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DAXPYKERNEL)
  520. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE $< -o $@
  521. $(KDIR)qaxpy_k$(TSUFFIX).$(SUFFIX) $(KDIR)qaxpy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QAXPYKERNEL)
  522. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@
  523. $(KDIR)caxpy_k$(TSUFFIX).$(SUFFIX) $(KDIR)caxpy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CAXPYKERNEL)
  524. $(CC) -c $(CFLAGS) -DCOMPLEX -DCOMPLEX -UCONJ -UDOUBLE $< -o $@
  525. $(KDIR)zaxpy_k$(TSUFFIX).$(SUFFIX) $(KDIR)zaxpy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZAXPYKERNEL)
  526. $(CC) -c $(CFLAGS) -DCOMPLEX -UCONJ -DDOUBLE $< -o $@
  527. $(KDIR)xaxpy_k$(TSUFFIX).$(SUFFIX) $(KDIR)xaxpy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XAXPYKERNEL)
  528. $(CC) -c $(CFLAGS) -DCOMPLEX -UCONJ -DXDOUBLE $< -o $@
  529. $(KDIR)caxpyc_k$(TSUFFIX).$(SUFFIX) $(KDIR)caxpyc_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CAXPYKERNEL)
  530. $(CC) -c $(CFLAGS) -DCOMPLEX -DCONJ -UDOUBLE $< -o $@
  531. $(KDIR)zaxpyc_k$(TSUFFIX).$(SUFFIX) $(KDIR)zaxpyc_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZAXPYKERNEL)
  532. $(CC) -c $(CFLAGS) -DCOMPLEX -DCONJ -DDOUBLE $< -o $@
  533. $(KDIR)xaxpyc_k$(TSUFFIX).$(SUFFIX) $(KDIR)xaxpyc_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XAXPYKERNEL)
  534. $(CC) -c $(CFLAGS) -DCOMPLEX -DCONJ -DXDOUBLE $< -o $@
  535. $(KDIR)scopy_k$(TSUFFIX).$(SUFFIX) $(KDIR)scopy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SCOPYKERNEL)
  536. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DC_INTERFACE $< -o $@
  537. $(KDIR)dcopy_k$(TSUFFIX).$(SUFFIX) $(KDIR)dcopy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DCOPYKERNEL)
  538. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE -DC_INTERFACE $< -o $@
  539. $(KDIR)qcopy_k$(TSUFFIX).$(SUFFIX) $(KDIR)qcopy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QCOPYKERNEL)
  540. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE -DC_INTERFACE $< -o $@
  541. $(KDIR)ccopy_k$(TSUFFIX).$(SUFFIX) $(KDIR)ccopy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CCOPYKERNEL)
  542. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DC_INTERFACE $< -o $@
  543. $(KDIR)zcopy_k$(TSUFFIX).$(SUFFIX) $(KDIR)zcopy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZCOPYKERNEL)
  544. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DC_INTERFACE $< -o $@
  545. $(KDIR)xcopy_k$(TSUFFIX).$(SUFFIX) $(KDIR)xcopy_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XCOPYKERNEL)
  546. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DC_INTERFACE $< -o $@
  547. $(KDIR)ddot_k$(TSUFFIX).$(SUFFIX) $(KDIR)ddot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DDOTKERNEL)
  548. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE $< -o $@
  549. $(KDIR)qdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)qdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QDOTKERNEL)
  550. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@
  551. ifeq ($(BUILD_BFLOAT16),1)
  552. $(KDIR)sbdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)sbdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SBDOTKERNEL)
  553. $(CC) -c $(CFLAGS) -UCOMPLEX $< -o $@
  554. $(KDIR)sbstobf16_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(TOBF16KERNEL)
  555. $(CC) -c $(CFLAGS) -UDOUBLE -DSINGLE $< -o $@
  556. $(KDIR)sbdtobf16_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(TOBF16KERNEL)
  557. $(CC) -c $(CFLAGS) -DDOUBLE -USINGLE $< -o $@
  558. $(KDIR)sbf16tos_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(BF16TOKERNEL)
  559. $(CC) -c $(CFLAGS) -UDOUBLE -DSINGLE $< -o $@
  560. $(KDIR)dbf16tod_k$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(BF16TOKERNEL)
  561. $(CC) -c $(CFLAGS) -DDOUBLE -USINGLE $< -o $@
  562. endif
  563. $(KDIR)sdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)sdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SDOTKERNEL)
  564. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE $< -o $@
  565. ifdef DSDOTKERNEL
  566. $(KDIR)dsdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)dsdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DSDOTKERNEL)
  567. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DDSDOT $< -o $@
  568. $(KDIR)sdsdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)sdsdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DSDOTKERNEL)
  569. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DDSDOT $< -o $@
  570. else
  571. $(KDIR)dsdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)dsdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SDOTKERNEL)
  572. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DDSDOT $< -o $@
  573. $(KDIR)sdsdot_k$(TSUFFIX).$(SUFFIX) $(KDIR)sdsdot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SDOTKERNEL)
  574. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE -DDSDOT $< -o $@
  575. endif
  576. $(KDIR)zdotu_k$(TSUFFIX).$(SUFFIX) $(KDIR)zdotu_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZDOTKERNEL)
  577. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -UCONJ $< -o $@
  578. $(KDIR)zdotc_k$(TSUFFIX).$(SUFFIX) $(KDIR)zdotc_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZDOTKERNEL)
  579. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE -DCONJ $< -o $@
  580. $(KDIR)xdotu_k$(TSUFFIX).$(SUFFIX) $(KDIR)xdotu_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XDOTKERNEL)
  581. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -UCONJ $< -o $@
  582. $(KDIR)xdotc_k$(TSUFFIX).$(SUFFIX) $(KDIR)xdotc_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XDOTKERNEL)
  583. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE -DCONJ $< -o $@
  584. $(KDIR)cdotu_k$(TSUFFIX).$(SUFFIX) $(KDIR)cdotu_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CDOTKERNEL)
  585. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -UCONJ $< -o $@
  586. $(KDIR)cdotc_k$(TSUFFIX).$(SUFFIX) $(KDIR)cdotc_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CDOTKERNEL)
  587. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE -DCONJ $< -o $@
  588. $(KDIR)snrm2_k$(TSUFFIX).$(SUFFIX) $(KDIR)snrm2_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SNRM2KERNEL)
  589. $(CC) $(CFLAGS) -UCOMPLEX -c -UDOUBLE $< -o $@
  590. $(KDIR)dnrm2_k$(TSUFFIX).$(SUFFIX) $(KDIR)dnrm2_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DNRM2KERNEL)
  591. $(CC) $(CFLAGS) -UCOMPLEX -c -DDOUBLE $< -o $@
  592. $(KDIR)qnrm2_k$(TSUFFIX).$(SUFFIX) $(KDIR)qnrm2_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QNRM2KERNEL)
  593. $(CC) $(CFLAGS) -UCOMPLEX -c -DXDOUBLE $< -o $@
  594. $(KDIR)cnrm2_k$(TSUFFIX).$(SUFFIX) $(KDIR)cnrm2_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CNRM2KERNEL)
  595. $(CC) $(CFLAGS) -DCOMPLEX -c -UDOUBLE $< -o $@
  596. $(KDIR)znrm2_k$(TSUFFIX).$(SUFFIX) $(KDIR)znrm2_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZNRM2KERNEL)
  597. $(CC) $(CFLAGS) -DCOMPLEX -c -DDOUBLE $< -o $@
  598. $(KDIR)xnrm2_k$(TSUFFIX).$(SUFFIX) $(KDIR)xnrm2_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XNRM2KERNEL)
  599. $(CC) $(CFLAGS) -DCOMPLEX -c -DXDOUBLE $< -o $@
  600. $(KDIR)srot_k$(TSUFFIX).$(SUFFIX) $(KDIR)srot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SROTKERNEL)
  601. $(CC) -c $(CFLAGS) $(FMAFLAG) -UCOMPLEX -UCOMPLEX -UDOUBLE $< -o $@
  602. $(KDIR)drot_k$(TSUFFIX).$(SUFFIX) $(KDIR)drot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DROTKERNEL)
  603. $(CC) -c $(CFLAGS) $(FMAFLAG) -UCOMPLEX -UCOMPLEX -DDOUBLE $< -o $@
  604. $(KDIR)qrot_k$(TSUFFIX).$(SUFFIX) $(KDIR)qrot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QROTKERNEL)
  605. $(CC) -c $(CFLAGS) -UCOMPLEX -UCOMPLEX -DXDOUBLE $< -o $@
  606. $(KDIR)csrot_k$(TSUFFIX).$(SUFFIX) $(KDIR)csrot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CROTKERNEL)
  607. $(CC) -c $(CFLAGS) -DCOMPLEX -DCOMPLEX -UDOUBLE $< -o $@
  608. $(KDIR)zdrot_k$(TSUFFIX).$(SUFFIX) $(KDIR)zdrot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZROTKERNEL)
  609. $(CC) -c $(CFLAGS) -DCOMPLEX -DCOMPLEX -DDOUBLE $< -o $@
  610. $(KDIR)xqrot_k$(TSUFFIX).$(SUFFIX) $(KDIR)xqrot_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XROTKERNEL)
  611. $(CC) -c $(CFLAGS) -DCOMPLEX -DCOMPLEX -DXDOUBLE $< -o $@
  612. $(KDIR)sscal_k$(TSUFFIX).$(SUFFIX) $(KDIR)sscal_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SSCALKERNEL)
  613. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE $< -o $@
  614. $(KDIR)dscal_k$(TSUFFIX).$(SUFFIX) $(KDIR)dscal_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DSCALKERNEL)
  615. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE $< -o $@
  616. $(KDIR)qscal_k$(TSUFFIX).$(SUFFIX) $(KDIR)qscal_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QSCALKERNEL)
  617. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@
  618. $(KDIR)cscal_k$(TSUFFIX).$(SUFFIX) $(KDIR)cscal_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CSCALKERNEL)
  619. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE $< -o $@
  620. $(KDIR)zscal_k$(TSUFFIX).$(SUFFIX) $(KDIR)zscal_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZSCALKERNEL)
  621. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE $< -o $@
  622. $(KDIR)xscal_k$(TSUFFIX).$(SUFFIX) $(KDIR)xscal_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XSCALKERNEL)
  623. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE $< -o $@
  624. $(KDIR)sswap_k$(TSUFFIX).$(SUFFIX) $(KDIR)sswap_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SSWAPKERNEL)
  625. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE $< -o $@
  626. $(KDIR)dswap_k$(TSUFFIX).$(SUFFIX) $(KDIR)dswap_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DSWAPKERNEL)
  627. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE $< -o $@
  628. $(KDIR)qswap_k$(TSUFFIX).$(SUFFIX) $(KDIR)qswap_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(QSWAPKERNEL)
  629. $(CC) -c $(CFLAGS) -UCOMPLEX -DXDOUBLE $< -o $@
  630. $(KDIR)cswap_k$(TSUFFIX).$(SUFFIX) $(KDIR)cswap_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CSWAPKERNEL)
  631. $(CC) -c $(CFLAGS) -DCOMPLEX -UDOUBLE $< -o $@
  632. $(KDIR)zswap_k$(TSUFFIX).$(SUFFIX) $(KDIR)zswap_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZSWAPKERNEL)
  633. $(CC) -c $(CFLAGS) -DCOMPLEX -DDOUBLE $< -o $@
  634. $(KDIR)xswap_k$(TSUFFIX).$(SUFFIX) $(KDIR)xswap_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(XSWAPKERNEL)
  635. $(CC) -c $(CFLAGS) -DCOMPLEX -DXDOUBLE $< -o $@
  636. $(KDIR)saxpby_k$(TSUFFIX).$(SUFFIX) $(KDIR)saxpby_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(SAXPBYKERNEL)
  637. $(CC) -c $(CFLAGS) -UCOMPLEX -UDOUBLE $< -o $@
  638. $(KDIR)daxpby_k$(TSUFFIX).$(SUFFIX) $(KDIR)daxpby_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(DAXPBYKERNEL)
  639. $(CC) -c $(CFLAGS) -UCOMPLEX -DDOUBLE $< -o $@
  640. $(KDIR)caxpby_k$(TSUFFIX).$(SUFFIX) $(KDIR)caxpby_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(CAXPBYKERNEL)
  641. $(CC) -c $(CFLAGS) -DCOMPLEX -UCONJ -UDOUBLE $< -o $@
  642. $(KDIR)zaxpby_k$(TSUFFIX).$(SUFFIX) $(KDIR)zaxpby_k$(TPSUFFIX).$(PSUFFIX) : $(KERNELDIR)/$(ZAXPBYKERNEL)
  643. $(CC) -c $(CFLAGS) -DCOMPLEX -UCONJ -DDOUBLE $< -o $@