static void hc2cfdftv_4(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP500000000, +0.500000000000000000000000000000000000000000000); INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 6)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 6), MAKE_VOLATILE_STRIDE(rs)) { V T1, T2, Tb, T5, T6, T4, T9, T3, Tc, T7, Ta, Tg, T8, Td, Th; V Tf, Te, Ti, Tj; T1 = LD(&(Rp[0]), ms, &(Rp[0])); T2 = LD(&(Rm[0]), -ms, &(Rm[0])); Tb = LDW(&(W[0])); T5 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); T6 = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); T4 = LDW(&(W[TWVL * 2])); T9 = LDW(&(W[TWVL * 4])); T3 = VFMACONJ(T2, T1); Tc = VZMULIJ(Tb, VFNMSCONJ(T2, T1)); T7 = VZMULJ(T4, VFMACONJ(T6, T5)); Ta = VZMULIJ(T9, VFNMSCONJ(T6, T5)); Tg = VADD(T3, T7); T8 = VSUB(T3, T7); Td = VSUB(Ta, Tc); Th = VADD(Tc, Ta); Tf = VCONJ(VMUL(LDK(KP500000000), VFMAI(Td, T8))); Te = VMUL(LDK(KP500000000), VFNMSI(Td, T8)); Ti = VMUL(LDK(KP500000000), VSUB(Tg, Th)); Tj = VCONJ(VMUL(LDK(KP500000000), VADD(Th, Tg))); ST(&(Rm[0]), Tf, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 1)]), Te, ms, &(Rp[WS(rs, 1)])); ST(&(Rp[0]), Ti, ms, &(Rp[0])); ST(&(Rm[WS(rs, 1)]), Tj, -ms, &(Rm[WS(rs, 1)])); } }
static void hc2cbdftv_4(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { { INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 6)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 6), MAKE_VOLATILE_STRIDE(rs)) { V T2, T3, T5, T6, Tf, T1, T9, Ta, T4, Tb, T7, Tc, Th, T8, Tg; V Te, Td, Ti, Tj; T2 = LD(&(Rp[0]), ms, &(Rp[0])); T3 = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); T5 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); T6 = LD(&(Rm[0]), -ms, &(Rm[0])); Tf = LDW(&(W[0])); T1 = LDW(&(W[TWVL * 4])); T9 = LDW(&(W[TWVL * 2])); Ta = VFMACONJ(T3, T2); T4 = VFNMSCONJ(T3, T2); Tb = VFMACONJ(T6, T5); T7 = VFNMSCONJ(T6, T5); Tc = VZMUL(T9, VSUB(Ta, Tb)); Th = VADD(Ta, Tb); T8 = VZMULI(T1, VFNMSI(T7, T4)); Tg = VZMULI(Tf, VFMAI(T7, T4)); Te = VCONJ(VSUB(Tc, T8)); Td = VADD(T8, Tc); Ti = VADD(Tg, Th); Tj = VCONJ(VSUB(Th, Tg)); ST(&(Rm[WS(rs, 1)]), Te, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 1)]), Td, ms, &(Rp[WS(rs, 1)])); ST(&(Rp[0]), Ti, ms, &(Rp[0])); ST(&(Rm[0]), Tj, -ms, &(Rm[0])); } } VLEAVE(); }
static void hc2cfdftv_6(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP500000000, +0.500000000000000000000000000000000000000000000); DVK(KP866025403, +0.866025403784438646763723170752936183471402627); { INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 10)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 10), MAKE_VOLATILE_STRIDE(24, rs)) { V T5, T6, T3, Tj, T4, T9, Te, Th, T1, T2, Ti, Tc, Td, Tb, Tg; V T7, Ta, Tt, Tk, Tr, T8, Ts, Tf, Tx, Tu, To, Tl, Tw, Tv, Tn; V Tm, Tz, Ty, Tp, Tq; T1 = LD(&(Rp[0]), ms, &(Rp[0])); T2 = LD(&(Rm[0]), -ms, &(Rm[0])); Ti = LDW(&(W[0])); Tc = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); Td = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); Tb = LDW(&(W[TWVL * 8])); Tg = LDW(&(W[TWVL * 6])); T5 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); T6 = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); T3 = VFMACONJ(T2, T1); Tj = VZMULIJ(Ti, VFNMSCONJ(T2, T1)); T4 = LDW(&(W[TWVL * 4])); T9 = LDW(&(W[TWVL * 2])); Te = VZMULIJ(Tb, VFNMSCONJ(Td, Tc)); Th = VZMULJ(Tg, VFMACONJ(Td, Tc)); T7 = VZMULIJ(T4, VFNMSCONJ(T6, T5)); Ta = VZMULJ(T9, VFMACONJ(T6, T5)); Tt = VADD(Tj, Th); Tk = VSUB(Th, Tj); Tr = VADD(T3, T7); T8 = VSUB(T3, T7); Ts = VADD(Ta, Te); Tf = VSUB(Ta, Te); Tx = VMUL(LDK(KP866025403), VSUB(Tt, Ts)); Tu = VADD(Ts, Tt); To = VMUL(LDK(KP866025403), VSUB(Tk, Tf)); Tl = VADD(Tf, Tk); Tw = VFNMS(LDK(KP500000000), Tu, Tr); Tv = VCONJ(VMUL(LDK(KP500000000), VADD(Tr, Tu))); Tn = VFNMS(LDK(KP500000000), Tl, T8); Tm = VMUL(LDK(KP500000000), VADD(T8, Tl)); Tz = VMUL(LDK(KP500000000), VFMAI(Tx, Tw)); Ty = VCONJ(VMUL(LDK(KP500000000), VFNMSI(Tx, Tw))); ST(&(Rm[WS(rs, 2)]), Tv, -ms, &(Rm[0])); Tp = VMUL(LDK(KP500000000), VFNMSI(To, Tn)); Tq = VCONJ(VMUL(LDK(KP500000000), VFMAI(To, Tn))); ST(&(Rp[0]), Tm, ms, &(Rp[0])); ST(&(Rp[WS(rs, 1)]), Tz, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[0]), Ty, -ms, &(Rm[0])); ST(&(Rm[WS(rs, 1)]), Tq, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 2)]), Tp, ms, &(Rp[0])); } } VLEAVE(); }
static void hc2cbdftv_6(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP500000000, +0.500000000000000000000000000000000000000000000); DVK(KP866025403, +0.866025403784438646763723170752936183471402627); INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 10)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 10), MAKE_VOLATILE_STRIDE(rs)) { V Tv, Tn, Tr, Te, T4, Tg, Ta, Tf, T7, T1, Td, T2, T3, T8, T9; V T5, T6, Th, Tj, Tb, Tp, Tx, Ti, Tc, To, Tk, Ts, Tq, Tw, Tm; V Tl, Tu, Tt, Tz, Ty; T2 = LD(&(Rp[0]), ms, &(Rp[0])); T3 = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); T8 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); T9 = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); T5 = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); T6 = LD(&(Rm[0]), -ms, &(Rm[0])); Tv = LDW(&(W[0])); Tn = LDW(&(W[TWVL * 8])); Tr = LDW(&(W[TWVL * 6])); Te = VFMACONJ(T3, T2); T4 = VFNMSCONJ(T3, T2); Tg = VFMACONJ(T9, T8); Ta = VFMSCONJ(T9, T8); Tf = VFMACONJ(T6, T5); T7 = VFNMSCONJ(T6, T5); T1 = LDW(&(W[TWVL * 4])); Td = LDW(&(W[TWVL * 2])); Th = VADD(Tf, Tg); Tj = VMUL(LDK(KP866025403), VSUB(Tf, Tg)); Tb = VADD(T7, Ta); Tp = VMUL(LDK(KP866025403), VSUB(T7, Ta)); Tx = VADD(Te, Th); Ti = VFNMS(LDK(KP500000000), Th, Te); Tc = VZMULI(T1, VADD(T4, Tb)); To = VFNMS(LDK(KP500000000), Tb, T4); Tk = VZMUL(Td, VFNMSI(Tj, Ti)); Ts = VZMUL(Tr, VFMAI(Tj, Ti)); Tq = VZMULI(Tn, VFNMSI(Tp, To)); Tw = VZMULI(Tv, VFMAI(Tp, To)); Tm = VCONJ(VSUB(Tk, Tc)); Tl = VADD(Tc, Tk); Tu = VCONJ(VSUB(Ts, Tq)); Tt = VADD(Tq, Ts); Tz = VCONJ(VSUB(Tx, Tw)); Ty = VADD(Tw, Tx); ST(&(Rm[WS(rs, 1)]), Tm, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 1)]), Tl, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[WS(rs, 2)]), Tu, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 2)]), Tt, ms, &(Rp[0])); ST(&(Rm[0]), Tz, -ms, &(Rm[0])); ST(&(Rp[0]), Ty, ms, &(Rp[0])); } }
static void hc2cfdftv_2(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP500000000, +0.500000000000000000000000000000000000000000000); INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 2)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 2), MAKE_VOLATILE_STRIDE(rs)) { V T1, T2, T4, T3, T5, T7, T6; T1 = LD(&(Rp[0]), ms, &(Rp[0])); T2 = LD(&(Rm[0]), -ms, &(Rm[0])); T4 = LDW(&(W[0])); T3 = VFMACONJ(T2, T1); T5 = VZMULIJ(T4, VFNMSCONJ(T2, T1)); T7 = VCONJ(VMUL(LDK(KP500000000), VADD(T3, T5))); T6 = VMUL(LDK(KP500000000), VSUB(T3, T5)); ST(&(Rm[0]), T7, -ms, &(Rm[0])); ST(&(Rp[0]), T6, ms, &(Rp[0])); } }
static void hc2cbdftv_2(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { { INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 2)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 2), MAKE_VOLATILE_STRIDE(8, rs)) { V T2, T3, T1, T5, T4, T7, T6; T2 = LD(&(Rp[0]), ms, &(Rp[0])); T3 = LD(&(Rm[0]), -ms, &(Rm[0])); T1 = LDW(&(W[0])); T5 = VFMACONJ(T3, T2); T4 = VZMULI(T1, VFNMSCONJ(T3, T2)); T7 = VCONJ(VSUB(T5, T4)); T6 = VADD(T4, T5); ST(&(Rm[0]), T7, -ms, &(Rm[0])); ST(&(Rp[0]), T6, ms, &(Rp[0])); } } VLEAVE(); }
static void hc2cbdftv_10(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP559016994, +0.559016994374947424102293417182819058860154590); DVK(KP250000000, +0.250000000000000000000000000000000000000000000); DVK(KP618033988, +0.618033988749894848204586834365638117720309180); DVK(KP951056516, +0.951056516295153572116439333379382143405698634); INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 18)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 18), MAKE_VOLATILE_STRIDE(rs)) { V Ts, T4, TR, T1, TZ, TD, Ty, Tn, Ti, TT, T11, TJ, T15, Tr, TN; V TE, Tv, To, Tb, T8, Tw, Te, Tx, Th, Tt, T7, T9, T2, T3, Tc; V Td, Tf, Tg, T5, T6, Tu, Ta; T2 = LD(&(Rp[0]), ms, &(Rp[0])); T3 = LD(&(Rm[WS(rs, 4)]), -ms, &(Rm[0])); Tc = LD(&(Rp[WS(rs, 4)]), ms, &(Rp[0])); Td = LD(&(Rm[0]), -ms, &(Rm[0])); Tf = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); Tg = LD(&(Rm[WS(rs, 3)]), -ms, &(Rm[WS(rs, 1)])); T5 = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); T6 = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); T8 = LD(&(Rp[WS(rs, 3)]), ms, &(Rp[WS(rs, 1)])); Ts = VFMACONJ(T3, T2); T4 = VFNMSCONJ(T3, T2); Tw = VFMACONJ(Td, Tc); Te = VFNMSCONJ(Td, Tc); Tx = VFMACONJ(Tg, Tf); Th = VFMSCONJ(Tg, Tf); Tt = VFMACONJ(T6, T5); T7 = VFNMSCONJ(T6, T5); T9 = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); TR = LDW(&(W[TWVL * 8])); T1 = LDW(&(W[TWVL * 4])); TZ = LDW(&(W[TWVL * 12])); TD = VSUB(Tw, Tx); Ty = VADD(Tw, Tx); Tn = VSUB(Te, Th); Ti = VADD(Te, Th); Tu = VFMACONJ(T9, T8); Ta = VFMSCONJ(T9, T8); TT = LDW(&(W[TWVL * 6])); T11 = LDW(&(W[TWVL * 10])); TJ = LDW(&(W[TWVL * 16])); T15 = LDW(&(W[0])); Tr = LDW(&(W[TWVL * 2])); TN = LDW(&(W[TWVL * 14])); TE = VSUB(Tt, Tu); Tv = VADD(Tt, Tu); To = VSUB(T7, Ta); Tb = VADD(T7, Ta); { V TV, TF, Tz, TB, TL, Tp, Tj, Tl, T17, TA, TS, Tk, TC, TU, TK; V Tm, TO, TG, T12, TW, T16, TM, T10, Tq, TX, TY, T18, T19, TQ, TP; V T13, T14, TI, TH; TV = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), TD, TE)); TF = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), TE, TD)); Tz = VADD(Tv, Ty); TB = VSUB(Tv, Ty); TL = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), Tn, To)); Tp = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), To, Tn)); Tj = VADD(Tb, Ti); Tl = VSUB(Tb, Ti); T17 = VADD(Ts, Tz); TA = VFNMS(LDK(KP250000000), Tz, Ts); TS = VZMULI(TR, VADD(T4, Tj)); Tk = VFNMS(LDK(KP250000000), Tj, T4); TC = VFNMS(LDK(KP559016994), TB, TA); TU = VFMA(LDK(KP559016994), TB, TA); TK = VFMA(LDK(KP559016994), Tl, Tk); Tm = VFNMS(LDK(KP559016994), Tl, Tk); TO = VZMUL(TN, VFMAI(TF, TC)); TG = VZMUL(Tr, VFNMSI(TF, TC)); T12 = VZMUL(T11, VFMAI(TV, TU)); TW = VZMUL(TT, VFNMSI(TV, TU)); T16 = VZMULI(T15, VFMAI(TL, TK)); TM = VZMULI(TJ, VFNMSI(TL, TK)); T10 = VZMULI(TZ, VFNMSI(Tp, Tm)); Tq = VZMULI(T1, VFMAI(Tp, Tm)); TX = VADD(TS, TW); TY = VCONJ(VSUB(TW, TS)); T18 = VADD(T16, T17); T19 = VCONJ(VSUB(T17, T16)); TQ = VCONJ(VSUB(TO, TM)); TP = VADD(TM, TO); T13 = VADD(T10, T12); T14 = VCONJ(VSUB(T12, T10)); TI = VCONJ(VSUB(TG, Tq)); TH = VADD(Tq, TG); ST(&(Rp[WS(rs, 2)]), TX, ms, &(Rp[0])); ST(&(Rm[WS(rs, 2)]), TY, -ms, &(Rm[0])); ST(&(Rp[0]), T18, ms, &(Rp[0])); ST(&(Rm[0]), T19, -ms, &(Rm[0])); ST(&(Rm[WS(rs, 4)]), TQ, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 4)]), TP, ms, &(Rp[0])); ST(&(Rp[WS(rs, 3)]), T13, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[WS(rs, 3)]), T14, -ms, &(Rm[WS(rs, 1)])); ST(&(Rm[WS(rs, 1)]), TI, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 1)]), TH, ms, &(Rp[WS(rs, 1)])); } } }
static void hc2cfdftv_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP500000000, +0.500000000000000000000000000000000000000000000); DVK(KP707106781, +0.707106781186547524400844362104849039284835938); { INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 14)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 14), MAKE_VOLATILE_STRIDE(32, rs)) { V T3, Tc, Tl, Ts, Tf, Tg, Te, Tp, T7, Ta, T1, T2, Tb, Tj, Tk; V Ti, Tr, T5, T6, T4, T9, Th, Tq, TC, T8, Td, TF, Tm, TG, TD; V Tt, Tu, Tn, TH, TL, TE, TK, Tz, Tv, Ty, To, TJ, TI, TN, TM; V TB, TA, Tx, Tw; T1 = LD(&(Rp[0]), ms, &(Rp[0])); T2 = LD(&(Rm[0]), -ms, &(Rm[0])); Tb = LDW(&(W[0])); Tj = LD(&(Rp[WS(rs, 3)]), ms, &(Rp[WS(rs, 1)])); Tk = LD(&(Rm[WS(rs, 3)]), -ms, &(Rm[WS(rs, 1)])); Ti = LDW(&(W[TWVL * 12])); Tr = LDW(&(W[TWVL * 10])); T5 = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); T6 = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); T3 = VFMACONJ(T2, T1); Tc = VZMULIJ(Tb, VFNMSCONJ(T2, T1)); T4 = LDW(&(W[TWVL * 6])); T9 = LDW(&(W[TWVL * 8])); Tl = VZMULIJ(Ti, VFNMSCONJ(Tk, Tj)); Ts = VZMULJ(Tr, VFMACONJ(Tk, Tj)); Tf = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); Tg = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); Te = LDW(&(W[TWVL * 4])); Tp = LDW(&(W[TWVL * 2])); T7 = VZMULJ(T4, VFMACONJ(T6, T5)); Ta = VZMULIJ(T9, VFNMSCONJ(T6, T5)); Th = VZMULIJ(Te, VFNMSCONJ(Tg, Tf)); Tq = VZMULJ(Tp, VFMACONJ(Tg, Tf)); TC = VADD(T3, T7); T8 = VSUB(T3, T7); Td = VSUB(Ta, Tc); TF = VADD(Tc, Ta); Tm = VSUB(Th, Tl); TG = VADD(Th, Tl); TD = VADD(Tq, Ts); Tt = VSUB(Tq, Ts); Tu = VSUB(Tm, Td); Tn = VADD(Td, Tm); TH = VSUB(TF, TG); TL = VADD(TF, TG); TE = VSUB(TC, TD); TK = VADD(TC, TD); Tz = VFMA(LDK(KP707106781), Tu, Tt); Tv = VFNMS(LDK(KP707106781), Tu, Tt); Ty = VFNMS(LDK(KP707106781), Tn, T8); To = VFMA(LDK(KP707106781), Tn, T8); TJ = VCONJ(VMUL(LDK(KP500000000), VFNMSI(TH, TE))); TI = VMUL(LDK(KP500000000), VFMAI(TH, TE)); TN = VCONJ(VMUL(LDK(KP500000000), VADD(TL, TK))); TM = VMUL(LDK(KP500000000), VSUB(TK, TL)); TB = VMUL(LDK(KP500000000), VFMAI(Tz, Ty)); TA = VCONJ(VMUL(LDK(KP500000000), VFNMSI(Tz, Ty))); Tx = VCONJ(VMUL(LDK(KP500000000), VFMAI(Tv, To))); Tw = VMUL(LDK(KP500000000), VFNMSI(Tv, To)); ST(&(Rm[WS(rs, 1)]), TJ, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 2)]), TI, ms, &(Rp[0])); ST(&(Rm[WS(rs, 3)]), TN, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[0]), TM, ms, &(Rp[0])); ST(&(Rp[WS(rs, 3)]), TB, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[WS(rs, 2)]), TA, -ms, &(Rm[0])); ST(&(Rm[0]), Tx, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 1)]), Tw, ms, &(Rp[WS(rs, 1)])); } } VLEAVE(); }
static void hc2cfdftv_12(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP866025403, +0.866025403784438646763723170752936183471402627); DVK(KP500000000, +0.500000000000000000000000000000000000000000000); INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 22)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 22), MAKE_VOLATILE_STRIDE(rs)) { V T3, T7, TH, TE, Th, TC, Tq, T11, TU, Tx, Tb, Tz, Tu, Tw, Tp; V Tl, T9, Ta, T8, Ty, Tn, To, Tm, TG, T1, T2, Tt, T5, T6, T4; V Tv, Tj, Tk, Ti, TD, Tf, Tg, Te, TB, TT, TF, TR, Tr; T1 = LD(&(Rp[0]), ms, &(Rp[0])); T2 = LD(&(Rm[0]), -ms, &(Rm[0])); Tt = LDW(&(W[0])); T5 = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); T6 = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); T4 = LDW(&(W[TWVL * 6])); Tv = LDW(&(W[TWVL * 8])); Tn = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); To = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); T3 = VFMACONJ(T2, T1); Tu = VZMULIJ(Tt, VFNMSCONJ(T2, T1)); Tm = LDW(&(W[TWVL * 2])); TG = LDW(&(W[TWVL * 4])); T7 = VZMULJ(T4, VFMACONJ(T6, T5)); Tw = VZMULIJ(Tv, VFNMSCONJ(T6, T5)); Tj = LD(&(Rp[WS(rs, 5)]), ms, &(Rp[WS(rs, 1)])); Tk = LD(&(Rm[WS(rs, 5)]), -ms, &(Rm[WS(rs, 1)])); Ti = LDW(&(W[TWVL * 18])); TD = LDW(&(W[TWVL * 20])); Tp = VZMULJ(Tm, VFMACONJ(To, Tn)); TH = VZMULIJ(TG, VFNMSCONJ(To, Tn)); Tf = LD(&(Rp[WS(rs, 3)]), ms, &(Rp[WS(rs, 1)])); Tg = LD(&(Rm[WS(rs, 3)]), -ms, &(Rm[WS(rs, 1)])); Te = LDW(&(W[TWVL * 10])); TB = LDW(&(W[TWVL * 12])); Tl = VZMULJ(Ti, VFMACONJ(Tk, Tj)); TE = VZMULIJ(TD, VFNMSCONJ(Tk, Tj)); T9 = LD(&(Rp[WS(rs, 4)]), ms, &(Rp[0])); Ta = LD(&(Rm[WS(rs, 4)]), -ms, &(Rm[0])); T8 = LDW(&(W[TWVL * 14])); Ty = LDW(&(W[TWVL * 16])); Th = VZMULJ(Te, VFMACONJ(Tg, Tf)); TC = VZMULIJ(TB, VFNMSCONJ(Tg, Tf)); Tq = VADD(Tl, Tp); T11 = VSUB(Tp, Tl); TU = VSUB(Tu, Tw); Tx = VADD(Tu, Tw); Tb = VZMULJ(T8, VFMACONJ(Ta, T9)); Tz = VZMULIJ(Ty, VFNMSCONJ(Ta, T9)); TT = VSUB(TC, TE); TF = VADD(TC, TE); TR = VFNMS(LDK(KP500000000), Tq, Th); Tr = VADD(Th, Tq); { V TX, TA, T1d, TV, TY, TI, T1e, T12, TQ, Td, T10, Tc, T1a, TN, TJ; V T1j, T1f, T1b, TS, TM, Ts, T17, T13, TZ, T1i, T1c, T16, TW, TP, TO; V TL, TK, T1k, T1l, T1h, T1g, T18, T19, T15, T14; T10 = VSUB(Tb, T7); Tc = VADD(T7, Tb); TX = VFNMS(LDK(KP500000000), Tx, Tz); TA = VADD(Tx, Tz); T1d = VADD(TU, TT); TV = VSUB(TT, TU); TY = VFNMS(LDK(KP500000000), TF, TH); TI = VADD(TF, TH); T1e = VADD(T10, T11); T12 = VSUB(T10, T11); TQ = VFNMS(LDK(KP500000000), Tc, T3); Td = VADD(T3, Tc); T1a = VADD(TX, TY); TZ = VSUB(TX, TY); TN = VADD(TA, TI); TJ = VSUB(TA, TI); T1j = VMUL(LDK(KP866025403), VADD(T1d, T1e)); T1f = VMUL(LDK(KP866025403), VSUB(T1d, T1e)); T1b = VADD(TQ, TR); TS = VSUB(TQ, TR); TM = VADD(Td, Tr); Ts = VSUB(Td, Tr); T17 = VFMA(LDK(KP866025403), T12, TZ); T13 = VFNMS(LDK(KP866025403), T12, TZ); T1i = VSUB(T1b, T1a); T1c = VADD(T1a, T1b); T16 = VFNMS(LDK(KP866025403), TV, TS); TW = VFMA(LDK(KP866025403), TV, TS); TP = VCONJ(VMUL(LDK(KP500000000), VADD(TN, TM))); TO = VMUL(LDK(KP500000000), VSUB(TM, TN)); TL = VCONJ(VMUL(LDK(KP500000000), VFNMSI(TJ, Ts))); TK = VMUL(LDK(KP500000000), VFMAI(TJ, Ts)); T1k = VCONJ(VMUL(LDK(KP500000000), VFNMSI(T1j, T1i))); T1l = VMUL(LDK(KP500000000), VFMAI(T1j, T1i)); T1h = VMUL(LDK(KP500000000), VFMAI(T1f, T1c)); T1g = VCONJ(VMUL(LDK(KP500000000), VFNMSI(T1f, T1c))); T18 = VMUL(LDK(KP500000000), VFNMSI(T17, T16)); T19 = VCONJ(VMUL(LDK(KP500000000), VFMAI(T17, T16))); T15 = VCONJ(VMUL(LDK(KP500000000), VFMAI(T13, TW))); T14 = VMUL(LDK(KP500000000), VFNMSI(T13, TW)); ST(&(Rm[WS(rs, 5)]), TP, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[0]), TO, ms, &(Rp[0])); ST(&(Rm[WS(rs, 2)]), TL, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 3)]), TK, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[WS(rs, 3)]), T1k, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 4)]), T1l, ms, &(Rp[0])); ST(&(Rp[WS(rs, 2)]), T1h, ms, &(Rp[0])); ST(&(Rm[WS(rs, 1)]), T1g, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 5)]), T18, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[WS(rs, 4)]), T19, -ms, &(Rm[0])); ST(&(Rm[0]), T15, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 1)]), T14, ms, &(Rp[WS(rs, 1)])); } } }
static void hc2cbdftv_16(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP923879532, +0.923879532511286756128183189396788286822416626); DVK(KP414213562, +0.414213562373095048801688724209698078569671875); DVK(KP707106781, +0.707106781186547524400844362104849039284835938); { INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 30)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 30), MAKE_VOLATILE_STRIDE(64, rs)) { V T8, Tv, TE, T1t, TP, T1w, T10, T1p, Tn, Tw, T13, T1q, TL, T1x, TS; V T1u; { V T4, TA, Tu, TC, T7, TN, Tr, TB, T2, T3, Ts, Tt, T5, T6, Tp; V Tq, TD, TO, TY, TZ, Tb, TF, Tl, TJ, Te, TG, Ti, TI, T9, Ta; V Tj, Tk, Tc, Td, Tg, Th, Tf, Tm, T11, T12, TH, TK, TQ, TR; T2 = LD(&(Rp[0]), ms, &(Rp[0])); T3 = LD(&(Rm[WS(rs, 7)]), -ms, &(Rm[WS(rs, 1)])); T4 = VFMACONJ(T3, T2); TA = VFNMSCONJ(T3, T2); Ts = LD(&(Rp[WS(rs, 6)]), ms, &(Rp[0])); Tt = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); Tu = VFMACONJ(Tt, Ts); TC = VFMSCONJ(Tt, Ts); T5 = LD(&(Rp[WS(rs, 4)]), ms, &(Rp[0])); T6 = LD(&(Rm[WS(rs, 3)]), -ms, &(Rm[WS(rs, 1)])); T7 = VFMACONJ(T6, T5); TN = VFNMSCONJ(T6, T5); Tp = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); Tq = LD(&(Rm[WS(rs, 5)]), -ms, &(Rm[WS(rs, 1)])); Tr = VFMACONJ(Tq, Tp); TB = VFNMSCONJ(Tq, Tp); T8 = VSUB(T4, T7); Tv = VSUB(Tr, Tu); TD = VADD(TB, TC); TE = VFMA(LDK(KP707106781), TD, TA); T1t = VFNMS(LDK(KP707106781), TD, TA); TO = VSUB(TB, TC); TP = VFMA(LDK(KP707106781), TO, TN); T1w = VFNMS(LDK(KP707106781), TO, TN); TY = VADD(T4, T7); TZ = VADD(Tr, Tu); T10 = VADD(TY, TZ); T1p = VSUB(TY, TZ); T9 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); Ta = LD(&(Rm[WS(rs, 6)]), -ms, &(Rm[0])); Tb = VFMACONJ(Ta, T9); TF = VFNMSCONJ(Ta, T9); Tj = LD(&(Rp[WS(rs, 3)]), ms, &(Rp[WS(rs, 1)])); Tk = LD(&(Rm[WS(rs, 4)]), -ms, &(Rm[0])); Tl = VFMACONJ(Tk, Tj); TJ = VFNMSCONJ(Tk, Tj); Tc = LD(&(Rp[WS(rs, 5)]), ms, &(Rp[WS(rs, 1)])); Td = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); Te = VFMACONJ(Td, Tc); TG = VFNMSCONJ(Td, Tc); Tg = LD(&(Rp[WS(rs, 7)]), ms, &(Rp[WS(rs, 1)])); Th = LD(&(Rm[0]), -ms, &(Rm[0])); Ti = VFMACONJ(Th, Tg); TI = VFMSCONJ(Th, Tg); Tf = VSUB(Tb, Te); Tm = VSUB(Ti, Tl); Tn = VADD(Tf, Tm); Tw = VSUB(Tf, Tm); T11 = VADD(Tb, Te); T12 = VADD(Ti, Tl); T13 = VADD(T11, T12); T1q = VSUB(T11, T12); TH = VFNMS(LDK(KP414213562), TG, TF); TK = VFMA(LDK(KP414213562), TJ, TI); TL = VADD(TH, TK); T1x = VSUB(TH, TK); TQ = VFMA(LDK(KP414213562), TF, TG); TR = VFNMS(LDK(KP414213562), TI, TJ); TS = VADD(TQ, TR); T1u = VSUB(TQ, TR); } { V T1j, T1R, T1c, T1J, T1g, T1l, T1N, T1T, T1Q, T1a, T1b, T19, T1I, T1e, T1f; V T1d, T1k, T1L, T1M, T1K, T1S, T1h, T1U, T1V, T1i, T1m, T1O, T1P, T1n, T14; V T1r, Ty, T1D, TU, T16, T1z, T1F, TX, T1o, To, Tx, T1, T1C, TM, TT; V Tz, T15, T1v, T1y, T1s, T1E, TV, T1G, T1H, TW, T17, T1A, T1B, T18; T1j = VADD(T10, T13); T1Q = LDW(&(W[TWVL * 22])); T1R = VZMUL(T1Q, VFNMSI(T1q, T1p)); T1a = VFMA(LDK(KP707106781), Tn, T8); T1b = VFMA(LDK(KP707106781), Tw, Tv); T19 = LDW(&(W[TWVL * 26])); T1c = VZMUL(T19, VFNMSI(T1b, T1a)); T1I = LDW(&(W[TWVL * 2])); T1J = VZMUL(T1I, VFMAI(T1b, T1a)); T1e = VFMA(LDK(KP923879532), TL, TE); T1f = VFMA(LDK(KP923879532), TS, TP); T1d = LDW(&(W[TWVL * 28])); T1g = VZMULI(T1d, VFNMSI(T1f, T1e)); T1k = LDW(&(W[0])); T1l = VZMULI(T1k, VFMAI(T1f, T1e)); T1L = VFMA(LDK(KP923879532), T1u, T1t); T1M = VFNMS(LDK(KP923879532), T1x, T1w); T1K = LDW(&(W[TWVL * 4])); T1N = VZMULI(T1K, VFNMSI(T1M, T1L)); T1S = LDW(&(W[TWVL * 24])); T1T = VZMULI(T1S, VFMAI(T1M, T1L)); T1h = VCONJ(VSUB(T1c, T1g)); ST(&(Rm[WS(rs, 7)]), T1h, -ms, &(Rm[WS(rs, 1)])); T1U = VCONJ(VSUB(T1R, T1T)); ST(&(Rm[WS(rs, 6)]), T1U, -ms, &(Rm[0])); T1V = VADD(T1R, T1T); ST(&(Rp[WS(rs, 6)]), T1V, ms, &(Rp[0])); T1i = VADD(T1c, T1g); ST(&(Rp[WS(rs, 7)]), T1i, ms, &(Rp[WS(rs, 1)])); T1m = VCONJ(VSUB(T1j, T1l)); ST(&(Rm[0]), T1m, -ms, &(Rm[0])); T1O = VCONJ(VSUB(T1J, T1N)); ST(&(Rm[WS(rs, 1)]), T1O, -ms, &(Rm[WS(rs, 1)])); T1P = VADD(T1J, T1N); ST(&(Rp[WS(rs, 1)]), T1P, ms, &(Rp[WS(rs, 1)])); T1n = VADD(T1j, T1l); ST(&(Rp[0]), T1n, ms, &(Rp[0])); TX = LDW(&(W[TWVL * 14])); T14 = VZMUL(TX, VSUB(T10, T13)); T1o = LDW(&(W[TWVL * 6])); T1r = VZMUL(T1o, VFMAI(T1q, T1p)); To = VFNMS(LDK(KP707106781), Tn, T8); Tx = VFNMS(LDK(KP707106781), Tw, Tv); T1 = LDW(&(W[TWVL * 10])); Ty = VZMUL(T1, VFNMSI(Tx, To)); T1C = LDW(&(W[TWVL * 18])); T1D = VZMUL(T1C, VFMAI(Tx, To)); TM = VFNMS(LDK(KP923879532), TL, TE); TT = VFNMS(LDK(KP923879532), TS, TP); Tz = LDW(&(W[TWVL * 12])); TU = VZMULI(Tz, VFNMSI(TT, TM)); T15 = LDW(&(W[TWVL * 16])); T16 = VZMULI(T15, VFMAI(TT, TM)); T1v = VFNMS(LDK(KP923879532), T1u, T1t); T1y = VFMA(LDK(KP923879532), T1x, T1w); T1s = LDW(&(W[TWVL * 8])); T1z = VZMULI(T1s, VFMAI(T1y, T1v)); T1E = LDW(&(W[TWVL * 20])); T1F = VZMULI(T1E, VFNMSI(T1y, T1v)); TV = VCONJ(VSUB(Ty, TU)); ST(&(Rm[WS(rs, 3)]), TV, -ms, &(Rm[WS(rs, 1)])); T1G = VCONJ(VSUB(T1D, T1F)); ST(&(Rm[WS(rs, 5)]), T1G, -ms, &(Rm[WS(rs, 1)])); T1H = VADD(T1D, T1F); ST(&(Rp[WS(rs, 5)]), T1H, ms, &(Rp[WS(rs, 1)])); TW = VADD(Ty, TU); ST(&(Rp[WS(rs, 3)]), TW, ms, &(Rp[WS(rs, 1)])); T17 = VCONJ(VSUB(T14, T16)); ST(&(Rm[WS(rs, 4)]), T17, -ms, &(Rm[0])); T1A = VCONJ(VSUB(T1r, T1z)); ST(&(Rm[WS(rs, 2)]), T1A, -ms, &(Rm[0])); T1B = VADD(T1r, T1z); ST(&(Rp[WS(rs, 2)]), T1B, ms, &(Rp[0])); T18 = VADD(T14, T16); ST(&(Rp[WS(rs, 4)]), T18, ms, &(Rp[0])); } } } VLEAVE(); }
static void hc2cbdftv_8(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP707106781, +0.707106781186547524400844362104849039284835938); INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 14)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 14), MAKE_VOLATILE_STRIDE(rs)) { V TJ, T4, Tf, TB, TD, TE, Tm, T1, Tj, TF, Tp, Tb, Tg, Tt, Tx; V T2, T3, Td, Te, T5, T6, T8, T9, Tn, T7, To, Ta, Tk, Tl, TG; V TL, Tq, Tc, Tu, Th, Tv, Ty, Tw, TC, Ti, TK, TA, Tz, TI, TH; V Ts, Tr, TN, TM; T2 = LD(&(Rp[0]), ms, &(Rp[0])); T3 = LD(&(Rm[WS(rs, 3)]), -ms, &(Rm[WS(rs, 1)])); Td = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); Te = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); T5 = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); T6 = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); T8 = LD(&(Rp[WS(rs, 3)]), ms, &(Rp[WS(rs, 1)])); T9 = LD(&(Rm[0]), -ms, &(Rm[0])); TJ = LDW(&(W[0])); Tk = VFMACONJ(T3, T2); T4 = VFNMSCONJ(T3, T2); Tl = VFMACONJ(Te, Td); Tf = VFNMSCONJ(Te, Td); Tn = VFMACONJ(T6, T5); T7 = VFNMSCONJ(T6, T5); To = VFMACONJ(T9, T8); Ta = VFMSCONJ(T9, T8); TB = LDW(&(W[TWVL * 8])); TD = LDW(&(W[TWVL * 6])); TE = VADD(Tk, Tl); Tm = VSUB(Tk, Tl); T1 = LDW(&(W[TWVL * 12])); Tj = LDW(&(W[TWVL * 10])); TF = VADD(Tn, To); Tp = VSUB(Tn, To); Tb = VADD(T7, Ta); Tg = VSUB(T7, Ta); Tt = LDW(&(W[TWVL * 4])); Tx = LDW(&(W[TWVL * 2])); TG = VZMUL(TD, VSUB(TE, TF)); TL = VADD(TE, TF); Tq = VZMUL(Tj, VFNMSI(Tp, Tm)); Tc = VFMA(LDK(KP707106781), Tb, T4); Tu = VFNMS(LDK(KP707106781), Tb, T4); Th = VFMA(LDK(KP707106781), Tg, Tf); Tv = VFNMS(LDK(KP707106781), Tg, Tf); Ty = VZMUL(Tx, VFMAI(Tp, Tm)); Tw = VZMULI(Tt, VFNMSI(Tv, Tu)); TC = VZMULI(TB, VFMAI(Tv, Tu)); Ti = VZMULI(T1, VFNMSI(Th, Tc)); TK = VZMULI(TJ, VFMAI(Th, Tc)); TA = VCONJ(VSUB(Ty, Tw)); Tz = VADD(Tw, Ty); TI = VCONJ(VSUB(TG, TC)); TH = VADD(TC, TG); Ts = VCONJ(VSUB(Tq, Ti)); Tr = VADD(Ti, Tq); TN = VCONJ(VSUB(TL, TK)); TM = VADD(TK, TL); ST(&(Rm[WS(rs, 1)]), TA, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 1)]), Tz, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[WS(rs, 2)]), TI, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 2)]), TH, ms, &(Rp[0])); ST(&(Rm[WS(rs, 3)]), Ts, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 3)]), Tr, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[0]), TN, -ms, &(Rm[0])); ST(&(Rp[0]), TM, ms, &(Rp[0])); } }
static void hc2cfdftv_10(R *Rp, R *Ip, R *Rm, R *Im, const R *W, stride rs, INT mb, INT me, INT ms) { DVK(KP559016994, +0.559016994374947424102293417182819058860154590); DVK(KP500000000, +0.500000000000000000000000000000000000000000000); DVK(KP250000000, +0.250000000000000000000000000000000000000000000); DVK(KP618033988, +0.618033988749894848204586834365638117720309180); DVK(KP951056516, +0.951056516295153572116439333379382143405698634); { INT m; for (m = mb, W = W + ((mb - 1) * ((TWVL / VL) * 18)); m < me; m = m + VL, Rp = Rp + (VL * ms), Ip = Ip + (VL * ms), Rm = Rm - (VL * ms), Im = Im - (VL * ms), W = W + (TWVL * 18), MAKE_VOLATILE_STRIDE(40, rs)) { V T5, T6, Tw, Tr, Tc, Tj, Tl, Tm, Tk, Ts, Tg, Ty, T3, T4, T1; V T2, Tv, Tq, Ta, Tb, T9, Ti, Te, Tf, Td, Tx, Tn, Tt, Th, TQ; V TT, Tz, T7, TR, To, Tu, TU; T1 = LD(&(Rp[0]), ms, &(Rp[0])); T2 = LD(&(Rm[0]), -ms, &(Rm[0])); Tv = LDW(&(W[0])); T5 = LD(&(Rp[WS(rs, 2)]), ms, &(Rp[0])); T6 = LD(&(Rm[WS(rs, 2)]), -ms, &(Rm[0])); Tq = LDW(&(W[TWVL * 6])); Ta = LD(&(Rp[WS(rs, 1)]), ms, &(Rp[WS(rs, 1)])); Tb = LD(&(Rm[WS(rs, 1)]), -ms, &(Rm[WS(rs, 1)])); T9 = LDW(&(W[TWVL * 2])); Ti = LDW(&(W[TWVL * 4])); Tw = VZMULIJ(Tv, VFNMSCONJ(T2, T1)); Te = LD(&(Rp[WS(rs, 3)]), ms, &(Rp[WS(rs, 1)])); Tf = LD(&(Rm[WS(rs, 3)]), -ms, &(Rm[WS(rs, 1)])); Tr = VZMULJ(Tq, VFMACONJ(T6, T5)); Td = LDW(&(W[TWVL * 12])); Tx = LDW(&(W[TWVL * 10])); Tc = VZMULJ(T9, VFMACONJ(Tb, Ta)); Tj = VZMULIJ(Ti, VFNMSCONJ(Tb, Ta)); Tl = LD(&(Rp[WS(rs, 4)]), ms, &(Rp[0])); Tm = LD(&(Rm[WS(rs, 4)]), -ms, &(Rm[0])); Tk = LDW(&(W[TWVL * 14])); Ts = LDW(&(W[TWVL * 16])); Tg = VZMULIJ(Td, VFNMSCONJ(Tf, Te)); Ty = VZMULJ(Tx, VFMACONJ(Tf, Te)); T3 = VFMACONJ(T2, T1); T4 = LDW(&(W[TWVL * 8])); Tn = VZMULJ(Tk, VFMACONJ(Tm, Tl)); Tt = VZMULIJ(Ts, VFNMSCONJ(Tm, Tl)); Th = VSUB(Tc, Tg); TQ = VADD(Tc, Tg); TT = VADD(Tw, Ty); Tz = VSUB(Tw, Ty); T7 = VZMULIJ(T4, VFNMSCONJ(T6, T5)); TR = VADD(Tj, Tn); To = VSUB(Tj, Tn); Tu = VSUB(Tr, Tt); TU = VADD(Tr, Tt); { V TP, T8, TS, T11, Tp, TH, TA, TG, TV, T12, TE, TB, TM, TI, TZ; V TW, T17, T13, TD, TC, TY, TX, TL, TF, T10, T16, TN, TO, TK, TJ; V T18, T19, T15, T14; TP = VADD(T3, T7); T8 = VSUB(T3, T7); TS = VADD(TQ, TR); T11 = VSUB(TQ, TR); Tp = VSUB(Th, To); TH = VADD(Th, To); TA = VSUB(Tu, Tz); TG = VADD(Tz, Tu); TV = VADD(TT, TU); T12 = VSUB(TU, TT); TE = VSUB(Tp, TA); TB = VADD(Tp, TA); TM = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), TG, TH)); TI = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), TH, TG)); TZ = VSUB(TS, TV); TW = VADD(TS, TV); T17 = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), T11, T12)); T13 = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), T12, T11)); TD = VFNMS(LDK(KP250000000), TB, T8); TC = VMUL(LDK(KP500000000), VADD(T8, TB)); TY = VFNMS(LDK(KP250000000), TW, TP); TX = VCONJ(VMUL(LDK(KP500000000), VADD(TP, TW))); TL = VFMA(LDK(KP559016994), TE, TD); TF = VFNMS(LDK(KP559016994), TE, TD); ST(&(Rp[0]), TC, ms, &(Rp[0])); T10 = VFMA(LDK(KP559016994), TZ, TY); T16 = VFNMS(LDK(KP559016994), TZ, TY); ST(&(Rm[WS(rs, 4)]), TX, -ms, &(Rm[0])); TN = VCONJ(VMUL(LDK(KP500000000), VFNMSI(TM, TL))); TO = VMUL(LDK(KP500000000), VFMAI(TM, TL)); TK = VMUL(LDK(KP500000000), VFMAI(TI, TF)); TJ = VCONJ(VMUL(LDK(KP500000000), VFNMSI(TI, TF))); T18 = VMUL(LDK(KP500000000), VFNMSI(T17, T16)); T19 = VCONJ(VMUL(LDK(KP500000000), VFMAI(T17, T16))); T15 = VCONJ(VMUL(LDK(KP500000000), VFMAI(T13, T10))); T14 = VMUL(LDK(KP500000000), VFNMSI(T13, T10)); ST(&(Rm[WS(rs, 3)]), TN, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 4)]), TO, ms, &(Rp[0])); ST(&(Rp[WS(rs, 2)]), TK, ms, &(Rp[0])); ST(&(Rm[WS(rs, 1)]), TJ, -ms, &(Rm[WS(rs, 1)])); ST(&(Rp[WS(rs, 3)]), T18, ms, &(Rp[WS(rs, 1)])); ST(&(Rm[WS(rs, 2)]), T19, -ms, &(Rm[0])); ST(&(Rm[0]), T15, -ms, &(Rm[0])); ST(&(Rp[WS(rs, 1)]), T14, ms, &(Rp[WS(rs, 1)])); } } } VLEAVE(); }