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 28 kB

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