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

📄 trsm_kernel_ln.s

📁 Optimized GotoBLAS libraries
💻 S
📖 第 1 页 / 共 5 页
字号:
	FSUB	b3, c15, c15	FSUB	b4, c16, c16#endif#ifdef LN	LDF	[AO + 15 * SIZE], a1	LDF	[AO + 14 * SIZE], a2	LDF	[AO + 13 * SIZE], a3	LDF	[AO + 12 * SIZE], a4	FMUL	a1, c04, c04	FMUL	a1, c08, c08	FMUL	a1, c12, c12	FMUL	a1, c16, c16	FMUL	a2, c04, t1	FMUL	a2, c08, t2	FMUL	a2, c12, t3	FMUL	a2, c16, t4	FSUB	c03, t1, c03	FSUB	c07, t2, c07	FSUB	c11, t3, c11	FSUB	c15, t4, c15	FMUL	a3, c04, t1	FMUL	a3, c08, t2	FMUL	a3, c12, t3	FMUL	a3, c16, t4	FSUB	c02, t1, c02	FSUB	c06, t2, c06	FSUB	c10, t3, c10	FSUB	c14, t4, c14	FMUL	a4, c04, t1	FMUL	a4, c08, t2	FMUL	a4, c12, t3	FMUL	a4, c16, t4	FSUB	c01, t1, c01	FSUB	c05, t2, c05	FSUB	c09, t3, c09	FSUB	c13, t4, c13	LDF	[AO + 10 * SIZE], a1	LDF	[AO +  9 * SIZE], a2	LDF	[AO +  8 * SIZE], a3	FMUL	a1, c03, c03	FMUL	a1, c07, c07	FMUL	a1, c11, c11	FMUL	a1, c15, c15	FMUL	a2, c03, t1	FMUL	a2, c07, t2	FMUL	a2, c11, t3	FMUL	a2, c15, t4	FSUB	c02, t1, c02	FSUB	c06, t2, c06	FSUB	c10, t3, c10	FSUB	c14, t4, c14	FMUL	a3, c03, t1	FMUL	a3, c07, t2	FMUL	a3, c11, t3	FMUL	a3, c15, t4	FSUB	c01, t1, c01	FSUB	c05, t2, c05	FSUB	c09, t3, c09	FSUB	c13, t4, c13	LDF	[AO +  5 * SIZE], a1	LDF	[AO +  4 * SIZE], a2	FMUL	a1, c02, c02	FMUL	a1, c06, c06	FMUL	a1, c10, c10	FMUL	a1, c14, c14	FMUL	a2, c02, t1	FMUL	a2, c06, t2	FMUL	a2, c10, t3	FMUL	a2, c14, t4	FSUB	c01, t1, c01	FSUB	c05, t2, c05	FSUB	c09, t3, c09	FSUB	c13, t4, c13	LDF	[AO +  0 * SIZE], a1	FMUL	a1, c01, c01	FMUL	a1, c05, c05	FMUL	a1, c09, c09	FMUL	a1, c13, c13#endif#ifdef LT	LDF	[AO +  0 * SIZE], a1	LDF	[AO +  1 * SIZE], a2	LDF	[AO +  2 * SIZE], a3	LDF	[AO +  3 * SIZE], a4	FMUL	a1, c01, c01	FMUL	a1, c05, c05	FMUL	a1, c09, c09	FMUL	a1, c13, c13	FMUL	a2, c01, t1	FMUL	a2, c05, t2	FMUL	a2, c09, t3	FMUL	a2, c13, t4	FSUB	c02, t1, c02	FSUB	c06, t2, c06	FSUB	c10, t3, c10	FSUB	c14, t4, c14	FMUL	a3, c01, t1	FMUL	a3, c05, t2	FMUL	a3, c09, t3	FMUL	a3, c13, t4	FSUB	c03, t1, c03	FSUB	c07, t2, c07	FSUB	c11, t3, c11	FSUB	c15, t4, c15	FMUL	a4, c01, t1	FMUL	a4, c05, t2	FMUL	a4, c09, t3	FMUL	a4, c13, t4	FSUB	c04, t1, c04	FSUB	c08, t2, c08	FSUB	c12, t3, c12	FSUB	c16, t4, c16	LDF	[AO +  5 * SIZE], a1	LDF	[AO +  6 * SIZE], a2	LDF	[AO +  7 * SIZE], a3	FMUL	a1, c02, c02	FMUL	a1, c06, c06	FMUL	a1, c10, c10	FMUL	a1, c14, c14	FMUL	a2, c02, t1	FMUL	a2, c06, t2	FMUL	a2, c10, t3	FMUL	a2, c14, t4	FSUB	c03, t1, c03	FSUB	c07, t2, c07	FSUB	c11, t3, c11	FSUB	c15, t4, c15	FMUL	a3, c02, t1	FMUL	a3, c06, t2	FMUL	a3, c10, t3	FMUL	a3, c14, t4	FSUB	c04, t1, c04	FSUB	c08, t2, c08	FSUB	c12, t3, c12	FSUB	c16, t4, c16	LDF	[AO + 10 * SIZE], a1	LDF	[AO + 11 * SIZE], a2	FMUL	a1, c03, c03	FMUL	a1, c07, c07	FMUL	a1, c11, c11	FMUL	a1, c15, c15	FMUL	a2, c03, t1	FMUL	a2, c07, t2	FMUL	a2, c11, t3	FMUL	a2, c15, t4	FSUB	c04, t1, c04	FSUB	c08, t2, c08	FSUB	c12, t3, c12	FSUB	c16, t4, c16	LDF	[AO + 15 * SIZE], a1	FMUL	a1, c04, c04	FMUL	a1, c08, c08	FMUL	a1, c12, c12	FMUL	a1, c16, c16#endif#ifdef RN	LDF	[BO +  0 * SIZE], a1	LDF	[BO +  1 * SIZE], a2	LDF	[BO +  2 * SIZE], a3	LDF	[BO +  3 * SIZE], a4	FMUL	a1, c01, c01	FMUL	a1, c02, c02	FMUL	a1, c03, c03	FMUL	a1, c04, c04	FMUL	a2, c01, t1	FMUL	a2, c02, t2	FMUL	a2, c03, t3	FMUL	a2, c04, t4	FSUB	c05, t1, c05	FSUB	c06, t2, c06	FSUB	c07, t3, c07	FSUB	c08, t4, c08	FMUL	a3, c01, t1	FMUL	a3, c02, t2	FMUL	a3, c03, t3	FMUL	a3, c04, t4	FSUB	c09, t1, c09	FSUB	c10, t2, c10	FSUB	c11, t3, c11	FSUB	c12, t4, c12	FMUL	a4, c01, t1	FMUL	a4, c02, t2	FMUL	a4, c03, t3	FMUL	a4, c04, t4	FSUB	c13, t1, c13	FSUB	c14, t2, c14	FSUB	c15, t3, c15	FSUB	c16, t4, c16	LDF	[BO +  5 * SIZE], a1	LDF	[BO +  6 * SIZE], a2	LDF	[BO +  7 * SIZE], a3	FMUL	a1, c05, c05	FMUL	a1, c06, c06	FMUL	a1, c07, c07	FMUL	a1, c08, c08	FMUL	a2, c05, t1	FMUL	a2, c06, t2	FMUL	a2, c07, t3	FMUL	a2, c08, t4	FSUB	c09, t1, c09	FSUB	c10, t2, c10	FSUB	c11, t3, c11	FSUB	c12, t4, c12	FMUL	a3, c05, t1	FMUL	a3, c06, t2	FMUL	a3, c07, t3	FMUL	a3, c08, t4	FSUB	c13, t1, c13	FSUB	c14, t2, c14	FSUB	c15, t3, c15	FSUB	c16, t4, c16	LDF	[BO + 10 * SIZE], a1	LDF	[BO + 11 * SIZE], a2	FMUL	a1, c09, c09	FMUL	a1, c10, c10	FMUL	a1, c11, c11	FMUL	a1, c12, c12	FMUL	a2, c09, t1	FMUL	a2, c10, t2	FMUL	a2, c11, t3	FMUL	a2, c12, t4	FSUB	c13, t1, c13	FSUB	c14, t2, c14	FSUB	c15, t3, c15	FSUB	c16, t4, c16	LDF	[BO + 15 * SIZE], a1	FMUL	a1, c13, c13	FMUL	a1, c14, c14	FMUL	a1, c15, c15	FMUL	a1, c16, c16#endif#ifdef RT	LDF	[BO + 15 * SIZE], a1	LDF	[BO + 14 * SIZE], a2	LDF	[BO + 13 * SIZE], a3	LDF	[BO + 12 * SIZE], a4	FMUL	a1, c13, c13	FMUL	a1, c14, c14	FMUL	a1, c15, c15	FMUL	a1, c16, c16	FMUL	a2, c13, t1	FMUL	a2, c14, t2	FMUL	a2, c15, t3	FMUL	a2, c16, t4	FSUB	c09, t1, c09	FSUB	c10, t2, c10	FSUB	c11, t3, c11	FSUB	c12, t4, c12	FMUL	a3, c13, t1	FMUL	a3, c14, t2	FMUL	a3, c15, t3	FMUL	a3, c16, t4	FSUB	c05, t1, c05	FSUB	c06, t2, c06	FSUB	c07, t3, c07	FSUB	c08, t4, c08	FMUL	a4, c13, t1	FMUL	a4, c14, t2	FMUL	a4, c15, t3	FMUL	a4, c16, t4	FSUB	c01, t1, c01	FSUB	c02, t2, c02	FSUB	c03, t3, c03	FSUB	c04, t4, c04	LDF	[BO + 10 * SIZE], a1	LDF	[BO +  9 * SIZE], a2	LDF	[BO +  8 * SIZE], a3	FMUL	a1, c09, c09	FMUL	a1, c10, c10	FMUL	a1, c11, c11	FMUL	a1, c12, c12	FMUL	a2, c09, t1	FMUL	a2, c10, t2	FMUL	a2, c11, t3	FMUL	a2, c12, t4	FSUB	c05, t1, c05	FSUB	c06, t2, c06	FSUB	c07, t3, c07	FSUB	c08, t4, c08	FMUL	a3, c09, t1	FMUL	a3, c10, t2	FMUL	a3, c11, t3	FMUL	a3, c12, t4	FSUB	c01, t1, c01	FSUB	c02, t2, c02	FSUB	c03, t3, c03	FSUB	c04, t4, c04	LDF	[BO +  5 * SIZE], a1	LDF	[BO +  4 * SIZE], a2	FMUL	a1, c05, c05	FMUL	a1, c06, c06	FMUL	a1, c07, c07	FMUL	a1, c08, c08	FMUL	a2, c05, t1	FMUL	a2, c06, t2	FMUL	a2, c07, t3	FMUL	a2, c08, t4	FSUB	c01, t1, c01	FSUB	c02, t2, c02	FSUB	c03, t3, c03	FSUB	c04, t4, c04	LDF	[BO +  0 * SIZE], a1	FMUL	a1, c01, c01	FMUL	a1, c02, c02	FMUL	a1, c03, c03	FMUL	a1, c04, c04#endif#ifdef LN	add	C1, -4 * SIZE, C1	add	C2, -4 * SIZE, C2	add	C3, -4 * SIZE, C3	add	C4, -4 * SIZE, C4#endif#if defined(LN) || defined(LT)	STF	c01, [BO +  0 * SIZE]	STF	c05, [BO +  1 * SIZE]	STF	c09, [BO +  2 * SIZE]	STF	c13, [BO +  3 * SIZE]	STF	c02, [BO +  4 * SIZE]	STF	c06, [BO +  5 * SIZE]	STF	c10, [BO +  6 * SIZE]	STF	c14, [BO +  7 * SIZE]	STF	c03, [BO +  8 * SIZE]	STF	c07, [BO +  9 * SIZE]	STF	c11, [BO + 10 * SIZE]	STF	c15, [BO + 11 * SIZE]	STF	c04, [BO + 12 * SIZE]	STF	c08, [BO + 13 * SIZE]	STF	c12, [BO + 14 * SIZE]	STF	c16, [BO + 15 * SIZE]#else	STF	c01, [AO +  0 * SIZE]	STF	c02, [AO +  1 * SIZE]	STF	c03, [AO +  2 * SIZE]	STF	c04, [AO +  3 * SIZE]	STF	c05, [AO +  4 * SIZE]	STF	c06, [AO +  5 * SIZE]	STF	c07, [AO +  6 * SIZE]	STF	c08, [AO +  7 * SIZE]	STF	c09, [AO +  8 * SIZE]	STF	c10, [AO +  9 * SIZE]	STF	c11, [AO + 10 * SIZE]	STF	c12, [AO + 11 * SIZE]	STF	c13, [AO + 12 * SIZE]	STF	c14, [AO + 13 * SIZE]	STF	c15, [AO + 14 * SIZE]	STF	c16, [AO + 15 * SIZE]#endif	STF	c01, [C1 + 0 * SIZE]	STF	c02, [C1 + 1 * SIZE]	STF	c03, [C1 + 2 * SIZE]	STF	c04, [C1 + 3 * SIZE]	STF	c05, [C2 + 0 * SIZE]	STF	c06, [C2 + 1 * SIZE]	STF	c07, [C2 + 2 * SIZE]	STF	c08, [C2 + 3 * SIZE]	STF	c09, [C3 + 0 * SIZE]	STF	c10, [C3 + 1 * SIZE]	STF	c11, [C3 + 2 * SIZE]	STF	c12, [C3 + 3 * SIZE]	STF	c13, [C4 + 0 * SIZE]	STF	c14, [C4 + 1 * SIZE]	STF	c15, [C4 + 2 * SIZE]	STF	c16, [C4 + 3 * SIZE]	FMOV	FZERO, t1	FMOV	FZERO, t2	FMOV	FZERO, t3	FMOV	FZERO, t4#ifndef LN	add	C1, 4 * SIZE, C1	add	C2, 4 * SIZE, C2	add	C3, 4 * SIZE, C3	add	C4, 4 * SIZE, C4#endif#ifdef RT	sll	K, 2 + BASE_SHIFT, TEMP1	add	AORIG, TEMP1, AORIG#endif#if defined(LT) || defined(RN)	sub	K, KK, TEMP1	sll	TEMP1, 2 + BASE_SHIFT, TEMP1	add	AO, TEMP1, AO	add	BO, TEMP1, BO#endif#ifdef LT	add	KK, 4, KK#endif#ifdef LN	sub	KK, 4, KK#endif	add	I, -1, I	cmp	I, 0	sra	K, 2, L	bg,pt	%icc, .LL21	FMOV	FZERO, c01.LL99:#ifdef LN	sll	K, 2 + BASE_SHIFT, TEMP1	add	B, TEMP1, B#endif#if defined(LT) || defined(RN)	mov	BO, B#endif#ifdef RN	add	KK, 4, KK#endif#ifdef RT	sub	KK, 4, KK#endif	add	J, -1, J	cmp	J, 0	bg,pt	%icc, .LL11	nop.LL100:  /* n & 2 */	and	N, 2, J	cmp	J, 0	ble,pn	%icc, .LL200	nop#ifdef RT	sll	K, 1 + BASE_SHIFT, TEMP1	sub	B, TEMP1, B	sll	LDC, 1, TEMP1	sub	C, TEMP1, C#endif	mov	C, C1	add	C, LDC, C2#ifdef LN	add	M, OFFSET, KK#endif#ifdef LT	mov	OFFSET, KK#endif#if defined(LN) || defined(RT)	mov	A, AORIG#else	mov	A, AO#endif#ifndef RT	add	C2, LDC, C#endif	and	M, 1, I	cmp	I, 0	ble,pn	%icc, .LL150	nop#if defined(LT) || defined(RN)	sra	KK, 2, L	mov	B, BO	cmp	L,  0#else#ifdef LN	sll	K,  0 + BASE_SHIFT, TEMP1	sub	AORIG, TEMP1, AORIG#endif	sll	KK, 0 + BASE_SHIFT, TEMP1	sll	KK, 1 + BASE_SHIFT, TEMP2	add	AORIG, TEMP1, AO	add	B,     TEMP2, BO	sub	K, KK, TEMP1	sra	TEMP1, 2, L	cmp	L,  0#endif	LDF	[AO + 0 * SIZE], a1	FMOV	FZERO, c01	LDF	[BO + 0 * SIZE], b1	FMOV	FZERO, t1 	LDF	[AO + 1 * SIZE], a2	FMOV	FZERO, c02	LDF	[BO + 1 * SIZE], b2	FMOV	FZERO, t2	LDF	[AO + 2 * SIZE], a3	FMOV	FZERO, c03	LDF	[BO + 2 * SIZE], b3	FMOV	FZERO, t3	LDF	[AO + 3 * SIZE], a4	FMOV	FZERO, c04	LDF	[BO + 3 * SIZE], b4	FMOV	FZERO, t4	ble,pn	%icc, .LL175	nop.LL172:	FADD	c01, t1, c01	add	AO,  4 * SIZE, AO	FMUL	a1, b1, t1	LDF	[BO + 4 * SIZE], b1	FADD	c02, t2, c02	FMUL	a1, b2, t2	LDF	[BO + 5 * SIZE], b2	add	L, -1, L	LDF	[AO + 0 * SIZE], a1	FADD	c03, t3, c03	cmp	L, 0	FMUL	a2, b3, t3	LDF	[BO + 6 * SIZE], b3	FADD	c04, t4, c04	FMUL	a2, b4, t4	LDF	[BO + 7 * SIZE], b4	LDF	[AO + 1 * SIZE], a2	FADD	c01, t1, c01	FMUL	a3, b1, t1	LDF	[BO +  8 * SIZE], b1	FADD	c02, t2, c02	FMUL	a3, b2, t2	LDF	[BO +  9 * SIZE], b2	LDF	[AO + 2 * SIZE], a3	FADD	c03, t3, c03	FMUL	a4, b3, t3	LDF	[BO + 10 * SIZE], b3	FADD	c04, t4, c04	FMUL	a4, b4, t4	LDF	[BO + 11 * SIZE], b4	add	BO,  8 * SIZE, BO	bg,pt	%icc, .LL172	LDF	[AO + 3 * SIZE], a4.LL175:#if defined(LT) || defined(RN)	and	KK,  3, L#else	and	TEMP1, 3, L#endif	cmp	L,  0	ble,a,pn %icc, .LL179	nop.LL176:	FADD	c01, t1, c01	add	L, -1, L	FMUL	a1, b1, t1	add	AO, 1 * SIZE, AO	LDF	[BO + 2 * SIZE], b1	FADD	c02, t2, c02	cmp	L, 0	FMUL	a1, b2, t2	LDF	[BO + 3 * SIZE], b2	add	BO, 2 * SIZE, BO	bg,pt	%icc, .LL176	LDF	[AO + 0 * SIZE], a1.LL179:	FADD	c01, t1, c01	FADD	c02, t2, c02	FADD	c03, t3, c03	FADD	c04, t4, c04	FADD	c01, c03, c01	FADD	c02, c04, c02#if defined(LN) || defined(RT)#ifdef LN	sub	KK, 1, TEMP1#else	sub	KK, 2, TEMP1#endif	sll	TEMP1, 0 + BASE_SHIFT, TEMP2	sll	TEMP1, 1 + BASE_SHIFT, TEMP1	add	AORIG, TEMP2, AO	add	B,     TEMP1, BO#endif#if defined(LN) || defined(LT)	LDF	[BO +  0 * SIZE], a1	LDF	[BO +  1 * SIZE], a2	FSUB	a1, c01, c01	FSUB	a2, c02, c02#else	LDF	[AO +  0 * SIZE], a1	LDF	[AO +  1 * SIZE], a2	FSUB	a1, c01, c01	FSUB	a2, c02, c02#endif#ifdef LN	LDF	[AO +  0 * SIZE], a1	FMUL	a1, c01, c01	FMUL	a1, c02, c02#endif#ifdef LT	LDF	[AO +  0 * SIZE], a1	FMUL	a1, c01, c01	FMUL	a1, c02, c02#endif#ifdef RN	LDF	[BO +  0 * SIZE], a1	LDF	[BO +  1 * SIZE], a2	LDF	[BO +  3 * SIZE], a3	FMUL	a1, c01, c01	FMUL	a2, c01, t1	FSUB	c02, t1, c02	FMUL	a3, c02, c02#endif#ifdef RT	LDF	[BO +  3 * SIZE], a1	LDF	[BO +  2 * SIZE], a2	LDF	[BO +  0 * SIZE], a3	FMUL	a1, c02, c02	FMUL	a2, c02, t1	FSUB	c01, t1, c01	FMUL	a3, c01, c01#endif#ifdef LN	add	C1, -1 * SIZE, C1	add	C2, -1 * SIZE, C2#endif#if defined(LN) || defined(LT)	STF	c01, [BO +  0 * SIZE]	STF	c02, [BO +  1 * SIZE]#else	STF	c01, [AO +  0 * SIZE]	STF	c02, [AO +  1 * SIZE]#endif	STF	c01, [C1 + 0 * SIZE]	STF	c02, [C2 + 0 * SIZE]	FMOV	FZERO, t1	FMOV	FZERO, t2	FMOV	FZERO, t3	FMOV	FZERO, t4#ifndef LN	add	C1, 1 * SIZE, C1	add	C2, 1 * SIZE, C2#endif#ifdef RT	sll	K, 0 + BASE_SHIFT, TEMP1	add	AORIG, TEMP1, AORIG#endif#if defined(LT) || defined(RN)	sub	K, KK, TEMP1	sll	TEMP1, 0 + BASE_SHIFT, TEMP2	sll	TEMP1, 1 + BASE_SHIFT, TEMP1	add	AO, TEMP2, AO	add	BO, TEMP1, BO#endif#ifdef LT	add	KK, 1, KK#endif#ifdef LN	sub	KK, 1, KK#endif.LL150:	and	M, 2, I	cmp	I, 0	ble,pn	%icc, .LL170	nop#if defined(LT) || defined(RN)	sra	KK, 2, L	mov	B, BO	cmp	L,  0#else#ifdef LN	sll	K,  1 + BASE_SHIFT, TEMP1	sub	AORIG, TEMP1, AORIG#endif	sll	KK, 1 + BASE_SHIFT, TEMP1	sll	KK, 1 + BASE_SHIFT, TEMP2	add	AORIG, TEMP1, AO	add	B,     TEMP2, BO	sub	K, KK, TEMP1	sra	TEMP1, 2, L	cmp	L,  0#endif	LDF	[AO + 0 * SIZE], a1	FMOV	FZERO, c01	LDF	[BO + 0 * SIZE], b1	FMOV	FZERO, t1	LDF	[AO + 1 * SIZE], a2	cmp	L,  0	FMOV	FZERO, c02	LDF	[BO + 1 * SIZE], b2	FMOV	FZERO, t2	LDF	[AO + 2 * SIZE], a3	FMOV	FZERO, c03	LDF	[BO + 2 * SIZE], b3	FMOV	FZERO, t3	LDF	[AO + 3 * SIZE], a4	FMOV	FZERO, c04	LDF	[BO + 3 * SIZE], b4	FMOV	FZERO, t4	ble,pn	%icc, .LL155	nop.LL152:

⌨️ 快捷键说明

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