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

📄 t3bv_25.c

📁 快速fft变换
💻 C
📖 第 1 页 / 共 3 页
字号:
				   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)]), VFNMSI(T4m, T4j), ms, &(x[0]));											  ST(&(x[WS(rs, 5)]), VFMAI(T4m, T4j), ms, &(x[WS(rs, 1)]));											  ST(&(x[WS(rs, 15)]), VFMAI(T4o, T4n), ms, &(x[WS(rs, 1)]));											  ST(&(x[WS(rs, 10)]), VFNMSI(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, 3)]), VFMAI(T3m, T3d), ms, &(x[WS(rs, 1)]));											       ST(&(x[WS(rs, 22)]), VFNMSI(T3m, T3d), ms, &(x[0]));											       T3U = VFMA(LDK(KP560319534), T3T, T3Q);											       T44 = VFNMS(LDK(KP681693190), T43, T3R);											       ST(&(x[WS(rs, 2)]), VFMAI(T3O, T3G), ms, &(x[0]));											       ST(&(x[WS(rs, 23)]), VFNMSI(T3O, T3G), ms, &(x[WS(rs, 1)]));											       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)]), VFNMSI(T3y, T3s), ms, &(x[WS(rs, 1)]));					     ST(&(x[WS(rs, 8)]), VFMAI(T3y, T3s), ms, &(x[0]));					     ST(&(x[WS(rs, 13)]), VFMAI(T42, T3V), ms, &(x[WS(rs, 1)]));					     ST(&(x[WS(rs, 12)]), VFNMSI(T42, T3V), ms, &(x[0]));					     ST(&(x[WS(rs, 7)]), VFNMSI(T48, T45), ms, &(x[WS(rs, 1)]));					     ST(&(x[WS(rs, 18)]), VFMAI(T48, T45), ms, &(x[0]));					     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)]), VFMAI(T2K, T2C), ms, &(x[WS(rs, 1)]));					     ST(&(x[WS(rs, 4)]), VFNMSI(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, 16)]), VFMAI(T2W, T2Q), ms, &(x[0]));	       ST(&(x[WS(rs, 9)]), VFNMSI(T2W, T2Q), ms, &(x[WS(rs, 1)]));	       T2s = VMUL(LDK(KP951056516), VFNMS(LDK(KP876306680), T2r, T2g));	       ST(&(x[WS(rs, 24)]), VFNMSI(T2u, T2t), ms, &(x[0]));	       ST(&(x[WS(rs, 1)]), VFMAI(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)]), VFMAI(T2s, T2p), ms, &(x[WS(rs, 1)]));	       ST(&(x[WS(rs, 14)]), VFNMSI(T2s, T2p), ms, &(x[0]));	       ST(&(x[WS(rs, 19)]), VFNMSI(T2m, T29), ms, &(x[WS(rs, 1)]));	       ST(&(x[WS(rs, 6)]), VFMAI(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, "t3bv_25", twinstr, &GENUS, {87, 100, 181, 0}, 0, 0, 0 };void X(codelet_t3bv_25) (planner *p) {     X(kdft_dit_register) (p, t3bv_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 t3bv_25 -include t3b.h -sign 1 *//* * This function contains 268 FP additions, 228 FP multiplications, * (or, 191 additions, 151 multiplications, 77 fused multiply/add), * 124 stack variables, 40 constants, and 50 memory accesses */#include "t3b.h"static void t3bv_25(R *ri, R *ii, const R *W, stride rs, INT mb, INT me, INT ms){     DVK(KP497379774, +0.497379774329709576484567492012895936835134813);     DVK(KP968583161, +0.968583161128631119490168375464735813836012403);     DVK(KP248689887, +0.248689887164854788242283746006447968417567406);     DVK(KP1_937166322, +1.937166322257262238980336750929471627672024806);     DVK(KP809016994, +0.809016994374947424102293417182819058860154590);     DVK(KP309016994, +0.309016994374947424102293417182819058860154590);     DVK(KP1_688655851, +1.688655851004030157097116127933363010763318483);     DVK(KP535826794, +0.535826794978996618271308767867639978063575346);     DVK(KP425779291, +0.425779291565072648862502445744251703979973042);     DVK(KP1_809654104, +1.809654104932039055427337295865395187940827822);     DVK(KP963507348, +0.963507348203430549974383005744259307057084020);     DVK(KP876306680, +0.876306680043863587308115903922062583399064238);     DVK(KP844327925, +0.844327925502015078548558063966681505381659241);     DVK(KP1_071653589, +1.071653589957993236542617535735279956127150691);     DVK(KP481753674, +0.481753674101715274987191502872129653528542010);     DVK(KP1_752613360, +1.752613360087727174616231807844125166798128477);     DVK(KP851558583, +0.851558583130145297725004891488503407959946084);     DVK(KP904827052, +0.904827052466019527713668647932697593970413911);     DVK(KP125333233, +0.125333233564304245373118759816508793942918247);     DVK(KP1_984229402, +1.984229402628955662099586085571557042906073418);     DVK(KP1_457937254, +1.457937254842823046293460638110518222745143328);     DVK(KP684547105, +0.684547105928688673732283357621209269889519233);     DVK(KP637423989, +0.637423989748689710176712811676016195434917298);     DVK(KP1_541026485, +1.541026485551578461606019272792355694543335344);     DVK(KP062790519, +0.062790519529313376076178224565631133122484832);     DVK(KP1_996053456, +1.996053456856543123904673613726901106673810439);     DVK(KP770513242, +0.770513242775789230803009636396177847271667672);     DVK(KP1_274847979, +1.274847979497379420353425623352032390869834596);     DVK(KP125581039, +0.125581039058626752152356449131262266244969664);     DVK(KP998026728, +0.998026728428271561952336806863450553336905220);     DVK(KP992114701, +0.992114701314477831049793042785778521453036709);     DVK(KP250666467, +0.250666467128608490746237519633017587885836494);     DVK(KP728968627, +0.728968627421411523146730319055259111372571664);     DVK(KP1_369094211, +1.369094211857377347464566715242418539779038465);     DVK(KP293892626, +0.293892626146236564584352977319536384298826219);     DVK(KP475528258, +0.475528258147576786058219666689691071702849317);     DVK(KP951056516, +0.951056516295153572116439333379382143405698634);     DVK(KP250000000, +0.250000000000000000000000000000000000000000000);     DVK(KP587785252, +0.587785252292473129168705954639072768597652438);     DVK(KP559016994, +0.559016994374947424102293417182819058860154590);     INT m;     R *x;     x = ii;     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, Td, T8, T9, TF, Te, Tu, TB, TC, T1s, T15, Tf, TY, T4, Ta;	  V Tx, T1T, Tg, T1N, T1v, T18, TG, T1o, T11;	  T1 = LDW(&(W[TWVL * 4]));	  Td = LDW(&(W[TWVL * 2]));	  T8 = LDW(&(W[0]));	  T9 = VZMUL(T8, T1);	  TF = VZMULJ(T8, T1);	  Te = VZMUL(T8, Td);	  Tu = VZMULJ(Td, T1);	  TB = VZMULJ(T8, Td);	  TC = VZMUL(TB, T1);	  T1s = VZMUL(Te, T1);	  T15 = VZMUL(Td, T1);	  Tf = VZMULJ(Te, T1);	  TY = VZMULJ(TB, T1);	  T4 = LDW(&(W[TWVL * 6]));	  Ta = VZMULJ(T9, T4);	  Tx = VZMULJ(Td, T4);	  T1T = VZMULJ(T1, T4);	  Tg = VZMULJ(Tf, T4);	  T1N = VZMULJ(Te, T4);	  T1v = VZMULJ(Tu, T4);	  T18 = VZMULJ(TY, T4);	  TG = VZMULJ(TF, T4);	  T1o = VZMULJ(T8, T4);	  T11 = VZMULJ(TB, T4);	  {	       V T1Y, T1X, T2f, T2g, T1Z, T20, T2e, T39, T1H, T2T, T1E, T3C, T2S, Tk, T2G;	       V Ts, T3z, T2F, TK, T2I, TS, T3y, T2J, T1k, T2Q, T1h, T3B, T2P;	       {		    V T1S, T1V, T1W, T1M, T1P, T1Q, T2d;		    T1Y = LD(&(x[0]), ms, &(x[0]));		    {			 V T1R, T1U, T1L, T1O;			 T1R = LD(&(x[WS(rs, 10)]), ms, &(x[0]));			 T1S = VZMUL(T9, T1R);			 T1U = LD(&(x[WS(rs, 15)]), ms, &(x[WS(rs, 1)]));			 T1V = VZMUL(T1T, T1U);			 T1W = VADD(T1S, T1V);			 T1L = LD(&(x[WS(rs, 5)]), ms, &(x[WS(rs, 1)]));			 T1M = VZMUL(Tf, T1L);			 T1O = LD(&(x[WS(rs, 20)]), ms, &(x[0]));			 T1P = VZMUL(T1N, T1O);			 T1Q = VADD(T1M, T1P);		    }		    T1X = VMUL(LDK(KP559016994), VSUB(T1Q, T1W));		    T2f = VSUB(T1S, T1V);		    T2g = VMUL(LDK(KP587785252), T2f);		    T1Z = VADD(T1Q, T1W);

⌨️ 快捷键说明

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