?? t3fv_25.c
字號:
T3j = VFNMS(LDK(KP734762448), T3i, T3h); T3E = VFNMS(LDK(KP982009705), T3D, T3C); T3Y = VFMA(LDK(KP982009705), T3D, T3C); T3M = VFNMS(LDK(KP921078979), T3L, T3K); T3R = VFMA(LDK(KP921078979), T3L, T3K); T1v = VFNMS(LDK(KP559016994), T1u, T1t); T36 = VFMA(LDK(KP559016994), T1u, T1t); T4l = VSUB(T4d, T4e); T4f = VADD(T4d, T4e); } { V T2L, T2R, T2j, T2q, T2J, T2B, T2e, T26, T2U, T1Y, T23, T2O; { V T2I, T24, T2w, T2E, T48, T42, T3y, T3s, T3V, T45, T2A, T1b, T2h, T2i, T1X; T2L = VFNMS(LDK(KP912575812), T2H, T2G); T2I = VFMA(LDK(KP912575812), T2H, T2G); { V T3A, T3e, T37, T3I, T1z; T3A = VFNMS(LDK(KP667278218), T36, T35); T3e = VFNMS(LDK(KP059835404), T35, T36); T37 = VFMA(LDK(KP066152395), T36, T35); T3I = VFMA(LDK(KP603558818), T35, T36); T24 = VFMA(LDK(KP578046249), T1v, T1y); T1z = VFNMS(LDK(KP522847744), T1y, T1v); T2w = VFNMS(LDK(KP494780565), T1v, T1y); T2E = VFMA(LDK(KP447533225), T1y, T1v); { V T4i, T4g, T4o, T4m; T4i = VSUB(T4c, T4f); T4g = VADD(T4c, T4f); T4o = VMUL(LDK(KP951056516), VFNMS(LDK(KP618033988), T4k, T4l)); T4m = VMUL(LDK(KP951056516), VFMA(LDK(KP618033988), T4l, T4k)); { V T3Q, T3J, T3b, T3u; T3Q = VFNMS(LDK(KP845997307), T3I, T3H); T3J = VFMA(LDK(KP845997307), T3I, T3H); T3b = VFNMS(LDK(KP772036680), T3a, T37); T3u = VFMA(LDK(KP772036680), T3a, T37); { V T3o, T3g, T3B, T3X, T4h; T3o = VFNMS(LDK(KP772036680), T3f, T3e); T3g = VFMA(LDK(KP772036680), T3f, T3e); T3B = VFNMS(LDK(KP845997307), T3A, T3z); T3X = VFMA(LDK(KP845997307), T3A, T3z); ST(&(x[0]), VADD(T4g, T49), ms, &(x[0])); T4h = VFNMS(LDK(KP250000000), T4g, T49); { V T40, T3N, T3c, T3v; T40 = VFMA(LDK(KP906616052), T3M, T3J); T3N = VFNMS(LDK(KP906616052), T3M, T3J); T3c = VFMA(LDK(KP956723877), T3b, T34); T3v = VFMA(LDK(KP522616830), T3j, T3u); { V T3p, T3k, T3S, T3F; T3p = VFNMS(LDK(KP522616830), T34, T3o); T3k = VFMA(LDK(KP945422727), T3j, T3g); T3S = VFNMS(LDK(KP923225144), T3E, T3B); T3F = VFMA(LDK(KP923225144), T3E, T3B); { V T46, T3Z, T4j, T4n; T46 = VFNMS(LDK(KP669429328), T3X, T3Y); T3Z = VFMA(LDK(KP570584518), T3Y, T3X); T4j = VFMA(LDK(KP559016994), T4i, T4h); T4n = VFNMS(LDK(KP559016994), T4i, T4h); { V T3W, T3O, T3d, T3w; T3W = VFMA(LDK(KP262346850), T3N, T3l); T3O = VMUL(LDK(KP998026728), VFNMS(LDK(KP952936919), T3l, T3N)); T3d = VFMA(LDK(KP992114701), T3c, T2X); T3w = VFNMS(LDK(KP690983005), T3v, T3g); { V T3q, T3m, T3T, T43; T3q = VFMA(LDK(KP763932022), T3p, T3b); T3m = VMUL(LDK(KP998026728), VFMA(LDK(KP952936919), T3l, T3k)); T3T = VFNMS(LDK(KP997675361), T3S, T3R); T43 = VFNMS(LDK(KP904508497), T3S, T3Q); { V T3G, T3P, T47, T41; T3G = VFMA(LDK(KP949179823), T3F, T2X); T3P = VFNMS(LDK(KP237294955), T3F, T2X); T47 = VFNMS(LDK(KP669429328), T40, T46); T41 = VFMA(LDK(KP618033988), T40, T3Z); ST(&(x[WS(rs, 20)]), VFMAI(T4m, T4j), ms, &(x[0])); ST(&(x[WS(rs, 5)]), VFNMSI(T4m, T4j), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 15)]), VFNMSI(T4o, T4n), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 10)]), VFMAI(T4o, T4n), ms, &(x[0])); { V T3x, T3r, T3U, T44; T3x = VFMA(LDK(KP855719849), T3w, T3t); T3r = VFNMS(LDK(KP855719849), T3q, T3n); ST(&(x[WS(rs, 22)]), VFMAI(T3m, T3d), ms, &(x[0])); ST(&(x[WS(rs, 3)]), VFNMSI(T3m, T3d), ms, &(x[WS(rs, 1)])); T3U = VFMA(LDK(KP560319534), T3T, T3Q); T44 = VFNMS(LDK(KP681693190), T43, T3R); ST(&(x[WS(rs, 23)]), VFMAI(T3O, T3G), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 2)]), VFNMSI(T3O, T3G), ms, &(x[0])); T48 = VMUL(LDK(KP951056516), VFNMS(LDK(KP876306680), T47, T3W)); T42 = VMUL(LDK(KP951056516), VFNMS(LDK(KP949179823), T41, T3W)); T3y = VMUL(LDK(KP951056516), VFNMS(LDK(KP992114701), T3x, T3l)); T3s = VFMA(LDK(KP897376177), T3r, T2X); T3V = VFNMS(LDK(KP949179823), T3U, T3P); T45 = VFNMS(LDK(KP860541664), T44, T3P); T2R = VFNMS(LDK(KP912575812), T2z, T2y); T2A = VFMA(LDK(KP912575812), T2z, T2y); T1b = VFMA(LDK(KP829049696), T1a, TO); T2h = VFNMS(LDK(KP829049696), T1a, TO); T2i = VFNMS(LDK(KP831864738), T1W, T1z); T1X = VFMA(LDK(KP831864738), T1W, T1z); } } } } } } } } } } } { V T2M, T2F, T2x, T2S, T2T, T2N; T2M = VFNMS(LDK(KP958953096), T2E, T2D); T2F = VFMA(LDK(KP958953096), T2E, T2D); ST(&(x[WS(rs, 17)]), VFMAI(T3y, T3s), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 8)]), VFNMSI(T3y, T3s), ms, &(x[0])); ST(&(x[WS(rs, 12)]), VFMAI(T42, T3V), ms, &(x[0])); ST(&(x[WS(rs, 13)]), VFNMSI(T42, T3V), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 18)]), VFNMSI(T48, T45), ms, &(x[0])); ST(&(x[WS(rs, 7)]), VFMAI(T48, T45), ms, &(x[WS(rs, 1)])); T2j = VFMA(LDK(KP559154169), T2i, T2h); T2q = VFNMS(LDK(KP683113946), T2h, T2i); T2x = VFNMS(LDK(KP867381224), T2w, T2v); T2S = VFMA(LDK(KP867381224), T2w, T2v); T2J = VFMA(LDK(KP894834959), T2I, T2F); T2T = VFMA(LDK(KP447417479), T2I, T2S); T2B = VFNMS(LDK(KP809385824), T2A, T2x); T2N = VFMA(LDK(KP447417479), T2A, T2M); T2e = VFMA(LDK(KP831864738), T25, T24); T26 = VFNMS(LDK(KP831864738), T25, T24); T2U = VFNMS(LDK(KP763932022), T2T, T2F); T1Y = VFMA(LDK(KP904730450), T1X, T1b); T23 = VFNMS(LDK(KP904730450), T1X, T1b); T2O = VFMA(LDK(KP690983005), T2N, T2x); } } { V T2C, T22, T2d, T2K; T2C = VFNMS(LDK(KP992114701), T2B, To); T22 = VFMA(LDK(KP916574801), T21, T20); T2d = VFNMS(LDK(KP916574801), T21, T20); T2K = VMUL(LDK(KP951056516), VFNMS(LDK(KP992114701), T2J, T2c)); { V T27, T2P, T2f, T2k, T2n, T2V; T2V = VFNMS(LDK(KP999544308), T2U, T2R); T27 = VFNMS(LDK(KP904730450), T26, T23); T2t = VFMA(LDK(KP968583161), T1Y, To); T1Z = VFNMS(LDK(KP242145790), T1Y, To); T2P = VFNMS(LDK(KP999544308), T2O, T2L); T2f = VFMA(LDK(KP904730450), T2e, T2d); T2k = VFNMS(LDK(KP904730450), T2e, T2d); T2n = VADD(T22, T23); ST(&(x[WS(rs, 21)]), VFNMSI(T2K, T2C), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 4)]), VFMAI(T2K, T2C), ms, &(x[0])); T2W = VMUL(LDK(KP951056516), VFNMS(LDK(KP803003575), T2V, T2c)); T28 = VFNMS(LDK(KP618033988), T27, T22); T2Q = VFNMS(LDK(KP803003575), T2P, To); T2r = VFMA(LDK(KP617882369), T2k, T2q); T2g = VFNMS(LDK(KP242145790), T2f, T2c); T2u = VMUL(LDK(KP951056516), VFMA(LDK(KP968583161), T2f, T2c)); T2o = VFNMS(LDK(KP683113946), T2n, T26); T2l = VFMA(LDK(KP559016994), T2k, T2j); } } } } } } } { V T29, T2s, T2p, T2m; T29 = VFNMS(LDK(KP876091699), T28, T1Z); ST(&(x[WS(rs, 9)]), VFMAI(T2W, T2Q), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 16)]), VFNMSI(T2W, T2Q), ms, &(x[0])); T2s = VMUL(LDK(KP951056516), VFNMS(LDK(KP876306680), T2r, T2g)); ST(&(x[WS(rs, 24)]), VFMAI(T2u, T2t), ms, &(x[0])); ST(&(x[WS(rs, 1)]), VFNMSI(T2u, T2t), ms, &(x[WS(rs, 1)])); T2p = VFMA(LDK(KP792626838), T2o, T1Z); T2m = VMUL(LDK(KP951056516), VFMA(LDK(KP968583161), T2l, T2g)); ST(&(x[WS(rs, 11)]), VFNMSI(T2s, T2p), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 14)]), VFMAI(T2s, T2p), ms, &(x[0])); ST(&(x[WS(rs, 19)]), VFMAI(T2m, T29), ms, &(x[WS(rs, 1)])); ST(&(x[WS(rs, 6)]), VFNMSI(T2m, T29), ms, &(x[0])); } }}static const tw_instr twinstr[] = { VTW(0, 1), VTW(0, 3), VTW(0, 9), VTW(0, 24), {TW_NEXT, VL, 0}};static const ct_desc desc = { 25, "t3fv_25", twinstr, &GENUS, {87, 100, 181, 0}, 0, 0, 0 };void X(codelet_t3fv_25) (planner *p) { X(kdft_dit_register) (p, t3fv_25, &desc);}#else /* HAVE_FMA *//* Generated by: ../../../genfft/gen_twiddle_c -simd -compact -variables 4 -pipeline-latency 8 -twiddle-log3 -precompute-twiddles -no-generate-bytw -n 25 -name t3fv_25 -include t3f.h *//* * This function contains 268 FP additions, 228 FP multiplications, * (or, 190 additions, 150 multiplications, 78 fused multiply/add), * 123 stack variables, 40 constants, and 50 memory accesses */#include "t3f.h"static void t3fv_25(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms){ DVK(KP998026728, +0.998026728428271561952336806863450553336905220); DVK(KP125581039, +0.125581039058626752152356449131262266244969664); DVK(KP1_996053456, +1.996053456856543123904673613726901106673810439); DVK(KP062790519, +0.062790519529313376076178224565631133122484832); DVK(KP809016994, +0.809016994374947424102293417182819058860154590); DVK(KP309016994, +0.309016994374947424102293417182819058860154590); DVK(KP1_369094211, +1.369094211857377347464566715242418539779038465); DVK(KP728968627, +0.728968627421411523146730319055259111372571664); DVK(KP963507348, +0.963507348203430549974383005744259307057084020); DVK(KP876306680, +0.876306680043863587308115903922062583399064238); DVK(KP497379774, +0.497379774329709576484567492012895936835134813); DVK(KP968583161, +0.968583161128631119490168375464735813836012403); DVK(KP684547105, +0.684547105928688673732283357621209269889519233); DVK(KP1_457937254, +1.457937254842823046293460638110518222745143328); DVK(KP481753674, +0.481753674101715274987191502872129653528542010); DVK(KP1_752613360, +1.752613360087727174616231807844125166798128477); DVK(KP248689887, +0.248689887164854788242283746006447968417567406); DVK(KP1_937166322, +1.937166322257262238980336750929471627672024806); DVK(KP992114701, +0.992114701314477831049793042785778521453036709); DVK(KP250666467, +0.250666467128608490746237519633017587885836494); DVK(KP425779291, +0.425779291565072648862502445744251703979973042); DVK(KP1_809654104, +1.809654104932039055427337295865395187940827822); DVK(KP1_274847979, +1.274847979497379420353425623352032390869834596); DVK(KP770513242, +0.770513242775789230803009636396177847271667672); DVK(KP844327925, +0.844327925502015078548558063966681505381659241); DVK(KP1_071653589, +1.071653589957993236542617535735279956127150691); DVK(KP125333233, +0.125333233564304245373118759816508793942918247); DVK(KP1_984229402, +1.984229402628955662099586085571557042906073418); DVK(KP904827052, +0.904827052466019527713668647932697593970413911); DVK(KP851558583, +0.851558583130145297725004891488503407959946084); DVK(KP637423989, +0.637423989748689710176712811676016195434917298); DVK(KP1_541026485, +1.541026485551578461606019272792355694543335344); DVK(KP535826794, +0.535826794978996618271308767867639978063575346); DVK(KP1_688655851, +1.688655851004030157097116127933363010763318483); DVK(KP293892626, +0.293892626146236564584352977319536384298826219); DVK(KP475528258, +0.475528258147576786058219666689691071702849317); DVK(KP587785252, +0.587785252292473129168705954639072768597652438); DVK(KP951056516, +0.951056516295153572116439333379382143405698634); DVK(KP250000000, +0.250000000000000000000000000000000000000000000); DVK(KP559016994, +0.559016994374947424102293417182819058860154590); INT m; R *x; x = ri; for (m = mb, W = W + (mb * ((TWVL / VL) * 8)); m < me; m = m + VL, x = x + (VL * ms), W = W + (TWVL * 8), MAKE_VOLATILE_STRIDE(rs)) { V T1, T4, T2, T3, TA, Td, Tp, Tw, Tx, T1G, T1j, T5, T1c, T8, T9; V Ts, T1J, Tg, T1C, T1m, TX, TB, T1f, TU; T1 = LDW(&(W[0])); T4 = LDW(&(W[TWVL * 4])); T2 = LDW(&(W[TWVL * 2])); T3 = VZMUL(T1, T2); TA = VZMULJ(T1, T4); Td = VZMUL(T1, T4); Tp = VZMULJ(T2, T4); Tw = VZMULJ(T1, T2); Tx = VZMUL(Tw, T4); T1G = VZMUL(T3, T4); T1j = VZMUL(T2, T4); T5 = VZMULJ(T3, T4); T1c = VZMULJ(Tw, T4); T8 = LDW(&(W[TWVL * 6])); T9 = VZMULJ(T3, T8); Ts = VZMULJ(T2, T8); T1J = VZMULJ(Tp, T8); Tg = VZMULJ(T4, T8); T1C = VZMULJ(T1, T8); T1m = VZMULJ(T1c, T8); TX = VZMULJ(T5, T8); TB = VZMULJ(TA, T8); T1f = VZMULJ(Tw, T8); TU = VZMULJ(Td, T8); { V Tl, Tk, Tm, Tn, T20, T2R, T22, T1V, T2K, T1S, T3A, T2L, TN, T2G, TK; V T3w, T2H, T19, T2D, T16, T3x, T2E, T1y, T2N, T1v, T3z, T2O; { V Tf, Ti, Tj, T7, Tb, Tc, T21; Tl = LD(&(x[0]), ms, &(x[0])); { V Te, Th, T6, Ta; Te = LD(&(x[WS(rs, 10)]), ms, &(x[0])); Tf = VZMULJ(Td, Te); Th = LD(&(x[WS(rs, 15)]), ms, &(x[WS(rs, 1)])); Ti = VZMULJ(Tg, Th); Tj = VADD(Tf, Ti); T6 = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)])); T7 = VZMULJ(T5, T6); Ta = LD(&(x[WS(rs, 20)]), ms, &(x[0])); Tb = VZMULJ(T9, Ta); Tc = VADD(T7, Tb); } Tk = VMUL(LDK(KP559016994), VSUB(Tc, Tj)); Tm = VADD(Tc, Tj); Tn = VFNMS(LDK(KP250000000), Tm, Tl); T20 = VSUB(T7, Tb);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -