⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zgemm_kernel_hummer.s

📁 Optimized GotoBLAS libraries
💻 S
📖 第 1 页 / 共 5 页
字号:
	addi	SP, SP, 16	blr	.align 4.L1000:	li	INC,    1 * SIZE	li	INC2,   2 * SIZE	li	INC4,   4 * SIZE	li	INCM1, -1 * SIZE	li	INCM3, -3 * SIZE	li	INCM5, -5 * SIZE	li	INCM7, -7 * SIZE	addi	C, C, - 1 * SIZE	srawi.	J, N,  1	ble	.L1050	.align 4.L1010:	mr	CO1, C	add	CO2, C,   LDC	add	C,   CO2, LDC#if defined(TRMMKERNEL) &&  defined(LEFT)	mr	KK, OFFSET#endif	addi	AO, A, -4 * SIZE		li	r0, FZERO	lfpsx	f0, SP, r0	srawi.	I, M,  2	ble	.L1020	.align 4.L1011:#if defined(TRMMKERNEL)#if (defined(LEFT) &&  defined(TRANSA)) || (!defined(LEFT) && !defined(TRANSA))	addi	AO2, AO,   2 * SIZE	fpmr	f4,  f0	addi	BO,  B,  - 4 * SIZE	fpmr	f8,  f0	addi	BO2, B,  - 2 * SIZE	fpmr	f12, f0#else	slwi	TEMP, KK, 2 + ZBASE_SHIFT	slwi	r0,   KK, 1 + ZBASE_SHIFT	add	AO, AO, TEMP	add	BO, B,  r0	addi	AO2, AO,   2 * SIZE	fpmr	f4,  f0	addi	BO,  BO, - 4 * SIZE	fpmr	f8,  f0	addi	BO2, BO,   2 * SIZE	fpmr	f12, f0#endif#if (defined(LEFT) && !defined(TRANSA)) || (!defined(LEFT) && defined(TRANSA))	sub	TEMP, K, KK#elif defined(LEFT)	addi	TEMP, KK, 4#else	addi	TEMP, KK, 2#endif	srawi.	r0,  TEMP,  2 	fpmr	f1,  f0	mtspr	CTR, r0	ble	.L1014#else	addi	AO2, AO,   2 * SIZE	fpmr	f4,  f0	addi	BO,  B,  - 4 * SIZE	fpmr	f8,  f0	addi	BO2, B,  - 2 * SIZE	fpmr	f12, f0	srawi.	r0,  K,  2 	fpmr	f1,  f0	mtspr	CTR, r0	ble	.L1014#endif	LFPDUX	A1,  AO, INC4	fpmr	f5,  f0	LFPDUX	A3,  AO, INC4	fpmr	f9,  f0	LFPDUX	B1,  BO, INC4	fpmr	f13, f0	LFPDUX	A5,  AO, INC4	fpmr	f2,  f0	LFPDUX	A6,  AO, INC4	fpmr	f6,  f0	LFPDUX	B3,  BO, INC4	fpmr	f10, f0	LFPDUX	A7,  AO, INC4	fpmr	f14, f0	LFPDUX	A8,  AO, INC4	fpmr	f3,  f0	LFPDUX	B5,  BO, INC4	fpmr	f7,  f0	LFPDUX	A9,  AO, INC4	fpmr	f11, f0	LFPDUX	A2, AO2, INC4	fpmr	f15, f0	LFPDUX	B2, BO2, INC4	bdz-	.L1013	.align 4.L1012:## 1 ##	FXCPMADD	f0,  B1, A1, f0	nop	FXCSMADD	f4,  B1, A1, f4	nop	FXCPMADD	f8,  B2, A1, f8	LFPDUX	B4, BO2, INC4	FXCSMADD	f12, B2, A1, f12	LFPDUX	B6,  BO, INC4	FXCPMADD	f1,  B1, A2, f1	nop	FXCSMADD	f5,  B1, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B2, A2, f9	LFPDUX	A10, AO, INC4	FXCSMADD	f13, B2, A2, f13	nop	FXCPMADD	f2,  B1, A3, f2	nop	FXCSMADD	f6,  B1, A3, f6	nop	FXCPMADD	f10, B2, A3, f10	nop	FXCSMADD	f14, B2, A3, f14	nop	FXCPMADD	f3,  B1, A4, f3	nop	FXCSMADD	f7,  B1, A4, f7	LFPDUX	A2, AO2, INC4	FXCPMADD	f11, B2, A4, f11	LFPDUX	A1,  AO, INC4	FXCSMADD	f15, B2, A4, f15	nop## 2 ##	FXCPMADD	f0,  B3, A5, f0	nop	FXCSMADD	f4,  B3, A5, f4	nop	FXCPMADD	f8,  B4, A5, f8	LFPDUX	B2, BO2, INC4	FXCSMADD	f12, B4, A5, f12	LFPDUX	B1,  BO, INC4	FXCPMADD	f1,  B3, A2, f1	nop	FXCSMADD	f5,  B3, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B4, A2, f9	LFPDUX	A3,  AO, INC4	FXCSMADD	f13, B4, A2, f13	nop	FXCPMADD	f2,  B3, A6, f2	nop	FXCSMADD	f6,  B3, A6, f6	nop	FXCPMADD	f10, B4, A6, f10	nop	FXCSMADD	f14, B4, A6, f14	nop	FXCPMADD	f3,  B3, A4, f3	nop	FXCSMADD	f7,  B3, A4, f7	LFPDUX	A2, AO2, INC4	FXCPMADD	f11, B4, A4, f11	LFPDUX	A5,  AO, INC4	FXCSMADD	f15, B4, A4, f15	nop## 3 ##	FXCPMADD	f0,  B5, A7, f0	nop	FXCSMADD	f4,  B5, A7, f4	nop	FXCPMADD	f8,  B2, A7, f8	LFPDUX	B4, BO2, INC4	FXCSMADD	f12, B2, A7, f12	LFPDUX	B3,  BO, INC4	FXCPMADD	f1,  B5, A2, f1	nop	FXCSMADD	f5,  B5, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B2, A2, f9	LFPDUX	A6,  AO, INC4	FXCSMADD	f13, B2, A2, f13	nop	FXCPMADD	f2,  B5, A8, f2	nop	FXCSMADD	f6,  B5, A8, f6	nop	FXCPMADD	f10, B2, A8, f10	nop	FXCSMADD	f14, B2, A8, f14	nop	FXCPMADD	f3,  B5, A4, f3	nop	FXCSMADD	f7,  B5, A4, f7	LFPDUX	A2, AO2, INC4	FXCPMADD	f11, B2, A4, f11	LFPDUX	A7,  AO, INC4	FXCSMADD	f15, B2, A4, f15	nop## 4 ##	FXCPMADD	f0,  B6, A9, f0	nop	FXCSMADD	f4,  B6, A9, f4	nop	FXCPMADD	f8,  B4, A9, f8	LFPDUX	B2, BO2, INC4	FXCSMADD	f12, B4, A9, f12	LFPDUX	B5,  BO, INC4	FXCPMADD	f1,  B6, A2, f1	nop	FXCSMADD	f5,  B6, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B4, A2, f9	LFPDUX	A8,  AO, INC4	FXCSMADD	f13, B4, A2, f13	nop	FXCPMADD	f2,  B6, A10, f2	nop	FXCSMADD	f6,  B6, A10, f6	nop	FXCPMADD	f10, B4, A10, f10	nop	FXCSMADD	f14, B4, A10, f14	nop	FXCPMADD	f3,  B6, A4, f3	LFPDUX	A2, AO2, INC4	FXCSMADD	f7,  B6, A4, f7	LFPDUX	A9,  AO, INC4	FXCPMADD	f11, B4, A4, f11	nop	FXCSMADD	f15, B4, A4, f15	bdnz+	.L1012	.align 4.L1013:## 1 ##	FXCPMADD	f0,  B1, A1, f0	nop	FXCSMADD	f4,  B1, A1, f4	nop	FXCPMADD	f8,  B2, A1, f8	LFPDUX	B4, BO2, INC4	FXCSMADD	f12, B2, A1, f12	LFPDUX	B6,  BO, INC4	FXCPMADD	f1,  B1, A2, f1	nop	FXCSMADD	f5,  B1, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B2, A2, f9	LFPDUX	A10, AO, INC4	FXCSMADD	f13, B2, A2, f13	nop	FXCPMADD	f2,  B1, A3, f2	nop	FXCSMADD	f6,  B1, A3, f6	nop	FXCPMADD	f10, B2, A3, f10	nop	FXCSMADD	f14, B2, A3, f14	nop	FXCPMADD	f3,  B1, A4, f3	nop	FXCSMADD	f7,  B1, A4, f7	LFPDUX	A2, AO2, INC4	FXCPMADD	f11, B2, A4, f11#ifndef TRMMKERNEL	LFDUX	A1, CO1, INC#else	nop#endif	FXCSMADD	f15, B2, A4, f15	nop## 2 ##	FXCPMADD	f0,  B3, A5, f0	nop	FXCSMADD	f4,  B3, A5, f4	nop	FXCPMADD	f8,  B4, A5, f8	LFPDUX	B2, BO2, INC4	FXCSMADD	f12, B4, A5, f12#ifndef TRMMKERNEL	LFDUX	B1, CO1, INC2#else	nop#endif	FXCPMADD	f1,  B3, A2, f1	nop	FXCSMADD	f5,  B3, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B4, A2, f9#ifndef TRMMKERNEL	LFDUX	A3, CO1, INC2#else	nop#endif	FXCSMADD	f13, B4, A2, f13	nop	FXCPMADD	f2,  B3, A6, f2	nop	FXCSMADD	f6,  B3, A6, f6	nop	FXCPMADD	f10, B4, A6, f10	nop	FXCSMADD	f14, B4, A6, f14	nop	FXCPMADD	f3,  B3, A4, f3	nop	FXCSMADD	f7,  B3, A4, f7	LFPDUX	A2, AO2, INC4	FXCPMADD	f11, B4, A4, f11#ifndef TRMMKERNEL   	LFDUX	A5, CO1, INC2#else	nop#endif	FXCSMADD	f15, B4, A4, f15	nop## 3 ##	FXCPMADD	f0,  B5, A7, f0	nop	FXCSMADD	f4,  B5, A7, f4	nop	FXCPMADD	f8,  B2, A7, f8	LFPDUX	B4, BO2, INC4	FXCSMADD	f12, B2, A7, f12#ifndef TRMMKERNEL	LFSDUX	A1, CO1, INCM5#else	nop#endif	FXCPMADD	f1,  B5, A2, f1	nop	FXCSMADD	f5,  B5, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B2, A2, f9#ifndef TRMMKERNEL	LFSDUX	B1, CO1, INC2#else	nop#endif	FXCSMADD	f13, B2, A2, f13	nop		FXCPMADD	f2,  B5, A8, f2	nop	FXCSMADD	f6,  B5, A8, f6	nop	FXCPMADD	f10, B2, A8, f10	nop	FXCSMADD	f14, B2, A8, f14	nop	FXCPMADD	f3,  B5, A4, f3	nop	FXCSMADD	f7,  B5, A4, f7	LFPDUX	A2, AO2, INC4	FXCPMADD	f11, B2, A4, f11#ifndef TRMMKERNEL	LFSDUX	A3, CO1, INC2#else	nop#endif	FXCSMADD	f15, B2, A4, f15	nop## 4 ##	FXCPMADD	f0,  B6, A9, f0	nop	FXCSMADD	f4,  B6, A9, f4	nop	FXCPMADD	f8,  B4, A9, f8#ifndef TRMMKERNEL	LFSDUX	A5, CO1, INC2#else	nop#endif	FXCSMADD	f12, B4, A9, f12#ifndef TRMMKERNEL	LFDUX	B3, CO2, INC#else	nop#endif	FXCPMADD	f1,  B6, A2, f1	nop	FXCSMADD	f5,  B6, A2, f5	LFPDUX	A4, AO2, INC4	FXCPMADD	f9,  B4, A2, f9#ifndef TRMMKERNEL	LFDUX	A6, CO2, INC2#else	nop#endif	FXCSMADD	f13, B4, A2, f13	nop	FXCPMADD	f2,  B6, A10, f2	nop	FXCSMADD	f6,  B6, A10, f6	nop	FXCPMADD	f10, B4, A10, f10	nop	FXCSMADD	f14, B4, A10, f14#ifndef TRMMKERNEL	LFDUX	A7, CO2, INC2#else	nop#endif	FXCPMADD	f3,  B6, A4, f3	nop	FXCSMADD	f7,  B6, A4, f7	nop	FXCPMADD	f11, B4, A4, f11	nop	FXCSMADD	f15, B4, A4, f15#ifndef TRMMKERNEL	LFDUX	B2, CO2, INC2#else	nop#endif	.align 4.L1014:	li	r0, ALPHA	lfpdx	AP,  SP, r0#ifdef TRMMKERNEL	li	r0, FZERO	lfpsx	f30, SP, r0#endif#if defined(TRMMKERNEL)#if (defined(LEFT) && !defined(TRANSA)) || (!defined(LEFT) && defined(TRANSA))	sub	TEMP, K, KK#elif defined(LEFT)	addi	TEMP, KK, 4#else	addi	TEMP, KK, 2#endif	andi.	r0,  TEMP,  3	mtspr	CTR, r0	ble+	.L1018	cmpwi	cr0, TEMP, 3	bgt+	.L1015#else	andi.	r0,  K,  3	mtspr	CTR, r0	ble+	.L1018	cmpwi	cr0, K, 3	bgt+	.L1015#endif#ifndef TRMMKERNEL	LFDUX	A1, CO1, INC	fpmr	f5,  f0	LFDUX	B1, CO1, INC2	fpmr	f9,  f0	LFDUX	A3, CO1, INC2	fpmr	f13, f0   	LFDUX	A5, CO1, INC2	fpmr	f2,  f0	LFSDUX	A1, CO1, INCM5	fpmr	f6,  f0	LFSDUX	B1, CO1, INC2	fpmr	f10, f0	LFSDUX	A3, CO1, INC2	fpmr	f14, f0	LFSDUX	A5, CO1, INC2	fpmr	f3,  f0	LFDUX	B3, CO2, INC	fpmr	f7,  f0	LFDUX	A6, CO2, INC2	fpmr	f11, f0	LFDUX	A7, CO2, INC2	fpmr	f15, f0	LFDUX	B2, CO2, INC2#else	fpmr	f5,  f0	fpmr	f9,  f0	fpmr	f13, f0	fpmr	f2,  f0	fpmr	f6,  f0	fpmr	f10, f0	fpmr	f14, f0	fpmr	f3,  f0	fpmr	f7,  f0	fpmr	f11, f0	fpmr	f15, f0#endif	.align 4.L1015:	LFPDUX	A2,  AO,  INC4	LFPDUX	A4,  AO2, INC4	LFPDUX	A10, BO,  INC4	LFPDUX	B4,  BO2, INC4	bdz-	.L1017	.align 4.L1016:	FXCPMADD	f0,  A10, A2, f0	FXCSMADD	f4,  A10, A2, f4	FXCPMADD	f8,  B4, A2, f8	FXCSMADD	f12, B4, A2, f12	LFPDUX	A2, AO,  INC4	FXCPMADD	f1,  A10, A4, f1	FXCSMADD	f5,  A10, A4, f5	FXCPMADD	f9,  B4, A4, f9	FXCSMADD	f13, B4, A4, f13	LFPDUX	A4, AO2, INC4	FXCPMADD	f2,  A10, A2, f2	FXCSMADD	f6,  A10, A2, f6	FXCPMADD	f10, B4, A2, f10	FXCSMADD	f14, B4, A2, f14	LFPDUX	A2, AO,  INC4	FXCPMADD	f3,  A10, A4, f3	FXCSMADD	f7,  A10, A4, f7	LFPDUX	A10, BO,  INC4	FXCPMADD	f11, B4, A4, f11	FXCSMADD	f15, B4, A4, f15	LFPDUX	A4, AO2, INC4	LFPDUX	B4, BO2, INC4	bdnz+	.L1016	.align 4.L1017:	FXCPMADD	f0,  A10, A2, f0	FXCSMADD	f4,  A10, A2, f4	FXCPMADD	f8,  B4, A2, f8	FXCSMADD	f12, B4, A2, f12	LFPDUX	A2, AO,  INC4	FXCPMADD	f1,  A10, A4, f1	FXCSMADD	f5,  A10, A4, f5	FXCPMADD	f9,  B4, A4, f9	FXCSMADD	f13, B4, A4, f13	LFPDUX	A4, AO2, INC4	FXCPMADD	f2,  A10, A2, f2	FXCSMADD	f6,  A10, A2, f6	FXCPMADD	f10, B4, A2, f10	FXCSMADD	f14, B4, A2, f14	FXCPMADD	f3,  A10, A4, f3	FXCSMADD	f7,  A10, A4, f7	FXCPMADD	f11, B4, A4, f11	FXCSMADD	f15, B4, A4, f15	.align 4.L1018:#if defined(NN) || defined(NT) || defined(TN) || defined(TT) || \    defined(RN) || defined(RT) || defined(CN) || defined(CT)	fpadd	f0, f0, f4	fpadd	f8, f8, f12	fpadd	f1, f1, f5	fpadd	f9, f9, f13	fpadd	f2,  f2,  f6	fpadd	f10, f10, f14	fpadd	f3,  f3,  f7	fpadd	f11, f11, f15#else	fpsub	f0, f0, f4	fpsub	f8, f8, f12	fpsub	f1, f1, f5	fpsub	f9, f9, f13	fpsub	f2,  f2,  f6	fpsub	f10, f10, f14	fpsub	f3,  f3,  f7	fpsub	f11, f11, f15#endif#ifndef TRMMKERNEL	fxcpmadd A1,  f0, AP,  A1	LFSDUX	B3, CO2, INCM5	fxcpmadd B1,  f1, AP,  B1	LFSDUX	A6, CO2, INC2	fxcpmadd A3,  f2, AP,  A3	LFSDUX	A7, CO2, INC2	fxcpmadd A5,  f3, AP,  A5	LFSDUX	B2, CO2, INC2	fxcxnpma f0,  f0, AP,  A1	fxcpmadd B3,  f8,  AP,  B3	fxcxnpma f1,  f1, AP,  B1	fxcpmadd A6,  f9,  AP,  A6	fxcxnpma f2,  f2, AP,  A3	fxcpmadd A7,  f10, AP,  A7	fxcxnpma f3,  f3, AP,  A5	STFDUX	f0,  CO1, INCM7	fxcpmadd B2,  f11, AP,  B2	STFSDUX	f0,  CO1, INC	fxcxnpma f8,  f8,  AP,  B3	STFDUX	f1,  CO1, INC	STFSDUX	f1,  CO1, INC	fxcxnpma f9,  f9,  AP,  A6	STFDUX	f2,  CO1, INC	STFSDUX	f2,  CO1, INC	fxcxnpma f10, f10, AP,  A7	STFDUX	f3,  CO1, INC	STFSDUX	f3,  CO1, INC	fxcxnpma f11, f11, AP,  B2	STFDUX	f8,  CO2, INCM7#else	fxcpmadd f12, f0, AP,  f30	fxcpmadd f13, f1, AP,  f30	fxcpmadd f14, f2, AP,  f30	fxcpmadd f15, f3, AP,  f30	fxcxnpma f0,  f0, AP,  f12	fxcxnpma f1,  f1, AP,  f13	fxcxnpma f2,  f2, AP,  f14	fxcxnpma f3,  f3, AP,  f15	fxcpmadd f16, f8,  AP, f30	fxcpmadd f17, f9,  AP, f30	fxcpmadd f18, f10, AP, f30	fxcpmadd f19, f11, AP, f30	fxcxnpma f8,  f8,  AP, f16	fxcxnpma f9,  f9,  AP, f17	fxcxnpma f10, f10, AP, f18	fxcxnpma f11, f11, AP, f19	STFDUX	f0,  CO1, INC	STFSDUX	f0,  CO1, INC	STFDUX	f1,  CO1, INC	STFSDUX	f1,  CO1, INC	STFDUX	f2,  CO1, INC	STFSDUX	f2,  CO1, INC	STFDUX	f3,  CO1, INC	STFSDUX	f3,  CO1, INC	STFDUX	f8,  CO2, INC#endif	STFSDUX	f8,  CO2, INC	STFDUX	f9,  CO2, INC	STFSDUX	f9,  CO2, INC	STFDUX	f10, CO2, INC	STFSDUX	f10, CO2, INC	STFDUX	f11, CO2, INC	STFSDUX	f11, CO2, INC#ifdef TRMMKERNEL#if ( defined(LEFT) &&  defined(TRANSA)) || \    (!defined(LEFT) && !defined(TRANSA))	sub	TEMP, K, KK#ifdef LEFT	addi	TEMP, TEMP, -4#else	addi	TEMP, TEMP, -2#endif	slwi	r0,   TEMP, 2 + ZBASE_SHIFT	slwi	TEMP, TEMP, 1 + ZBASE_SHIFT	add	AO, AO, r0	add	BO, BO, TEMP#endif#ifdef LEFT	addi	KK, KK, 4#endif#endif	addic.	I, I, -1	li	r0, FZERO	lfpsx	f0, SP, r0	bgt+	.L1011	.align 4.L1020:	andi.	I, M,  2	beq	.L1030#if defined(TRMMKERNEL)#if (defined(LEFT) &&  defined(TRANSA)) || (!defined(LEFT) && !defined(TRANSA))	addi	AO2, AO,   2 * SIZE	fpmr	f4,  f0	addi	BO,  B,  - 4 * SIZE	fpmr	f8,  f0	addi	BO2, B,  - 2 * SIZE	fpmr	f12, f0#else	slwi	TEMP, KK, 1 + ZBASE_SHIFT	slwi	r0,   KK, 1 + ZBASE_SHIFT

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -