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

📄 q1fv_8.c

📁 fftw-3.0.1
💻 C
📖 第 1 页 / 共 2 页
字号:
	       {		    V T2J, T2K, T2M, T2N;		    T2J = LD(&(x[WS(vs, 5) + WS(is, 1)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2K = LD(&(x[WS(vs, 5) + WS(is, 5)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2L = VSUB(T2J, T2K);		    T35 = VADD(T2J, T2K);		    T2M = LD(&(x[WS(vs, 5) + WS(is, 7)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2N = LD(&(x[WS(vs, 5) + WS(is, 3)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2O = VSUB(T2M, T2N);		    T36 = VADD(T2M, T2N);	       }	       T2P = VMUL(LDK(KP707106781), VADD(T2L, T2O));	       T3a = VBYI(VSUB(T36, T35));	       T2R = VMUL(LDK(KP707106781), VSUB(T2O, T2L));	       T37 = VADD(T35, T36);	  }	  {	       V T3i, T3C, T3l, T3D;	       {		    V T3g, T3h, T3j, T3k;		    T3g = LD(&(x[WS(vs, 6) + WS(is, 1)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3h = LD(&(x[WS(vs, 6) + WS(is, 5)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3i = VSUB(T3g, T3h);		    T3C = VADD(T3g, T3h);		    T3j = LD(&(x[WS(vs, 6) + WS(is, 7)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3k = LD(&(x[WS(vs, 6) + WS(is, 3)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3l = VSUB(T3j, T3k);		    T3D = VADD(T3j, T3k);	       }	       T3m = VMUL(LDK(KP707106781), VADD(T3i, T3l));	       T3H = VBYI(VSUB(T3D, T3C));	       T3o = VMUL(LDK(KP707106781), VSUB(T3l, T3i));	       T3E = VADD(T3C, T3D);	  }	  ST(&(x[0]), VADD(Tp, Ts), dist, &(x[0]));	  ST(&(x[WS(is, 2)]), VADD(T1t, T1w), dist, &(x[0]));	  ST(&(x[WS(is, 5)]), VADD(T34, T37), dist, &(x[WS(is, 1)]));	  ST(&(x[WS(is, 7)]), VADD(T48, T4b), dist, &(x[WS(is, 1)]));	  ST(&(x[WS(is, 6)]), VADD(T3B, T3E), dist, &(x[0]));	  ST(&(x[WS(is, 4)]), VADD(T2x, T2A), dist, &(x[0]));	  {	       V Tt, T4c, T2B, T24;	       ST(&(x[WS(is, 3)]), VADD(T20, T23), dist, &(x[WS(is, 1)]));	       ST(&(x[WS(is, 1)]), VADD(TW, TZ), dist, &(x[WS(is, 1)]));	       Tt = BYTWJ(&(W[TWVL * 6]), VSUB(Tp, Ts));	       ST(&(x[WS(vs, 4)]), Tt, dist, &(x[WS(vs, 4)]));	       T4c = BYTWJ(&(W[TWVL * 6]), VSUB(T48, T4b));	       ST(&(x[WS(vs, 4) + WS(is, 7)]), T4c, dist, &(x[WS(vs, 4) + WS(is, 1)]));	       T2B = BYTWJ(&(W[TWVL * 6]), VSUB(T2x, T2A));	       ST(&(x[WS(vs, 4) + WS(is, 4)]), T2B, dist, &(x[WS(vs, 4)]));	       T24 = BYTWJ(&(W[TWVL * 6]), VSUB(T20, T23));	       ST(&(x[WS(vs, 4) + WS(is, 3)]), T24, dist, &(x[WS(vs, 4) + WS(is, 1)]));	  }	  {	       V T10, T1x, T3F, T38, T1A, Tw;	       T10 = BYTWJ(&(W[TWVL * 6]), VSUB(TW, TZ));	       ST(&(x[WS(vs, 4) + WS(is, 1)]), T10, dist, &(x[WS(vs, 4) + WS(is, 1)]));	       T1x = BYTWJ(&(W[TWVL * 6]), VSUB(T1t, T1w));	       ST(&(x[WS(vs, 4) + WS(is, 2)]), T1x, dist, &(x[WS(vs, 4)]));	       T3F = BYTWJ(&(W[TWVL * 6]), VSUB(T3B, T3E));	       ST(&(x[WS(vs, 4) + WS(is, 6)]), T3F, dist, &(x[WS(vs, 4)]));	       T38 = BYTWJ(&(W[TWVL * 6]), VSUB(T34, T37));	       ST(&(x[WS(vs, 4) + WS(is, 5)]), T38, dist, &(x[WS(vs, 4) + WS(is, 1)]));	       T1A = BYTWJ(&(W[TWVL * 10]), VSUB(T1y, T1z));	       ST(&(x[WS(vs, 6) + WS(is, 2)]), T1A, dist, &(x[WS(vs, 6)]));	       Tw = BYTWJ(&(W[TWVL * 10]), VSUB(Tu, Tv));	       ST(&(x[WS(vs, 6)]), Tw, dist, &(x[WS(vs, 6)]));	  }	  {	       V T2E, T3I, T13, T27, T3b, T4f;	       T2E = BYTWJ(&(W[TWVL * 10]), VSUB(T2C, T2D));	       ST(&(x[WS(vs, 6) + WS(is, 4)]), T2E, dist, &(x[WS(vs, 6)]));	       T3I = BYTWJ(&(W[TWVL * 10]), VSUB(T3G, T3H));	       ST(&(x[WS(vs, 6) + WS(is, 6)]), T3I, dist, &(x[WS(vs, 6)]));	       T13 = BYTWJ(&(W[TWVL * 10]), VSUB(T11, T12));	       ST(&(x[WS(vs, 6) + WS(is, 1)]), T13, dist, &(x[WS(vs, 6) + WS(is, 1)]));	       T27 = BYTWJ(&(W[TWVL * 10]), VSUB(T25, T26));	       ST(&(x[WS(vs, 6) + WS(is, 3)]), T27, dist, &(x[WS(vs, 6) + WS(is, 1)]));	       T3b = BYTWJ(&(W[TWVL * 10]), VSUB(T39, T3a));	       ST(&(x[WS(vs, 6) + WS(is, 5)]), T3b, dist, &(x[WS(vs, 6) + WS(is, 1)]));	       T4f = BYTWJ(&(W[TWVL * 10]), VSUB(T4d, T4e));	       ST(&(x[WS(vs, 6) + WS(is, 7)]), T4f, dist, &(x[WS(vs, 6) + WS(is, 1)]));	  }	  {	       V Tx, T1B, T3c, T4g, T3J, T2F;	       Tx = BYTWJ(&(W[TWVL * 2]), VADD(Tu, Tv));	       ST(&(x[WS(vs, 2)]), Tx, dist, &(x[WS(vs, 2)]));	       T1B = BYTWJ(&(W[TWVL * 2]), VADD(T1y, T1z));	       ST(&(x[WS(vs, 2) + WS(is, 2)]), T1B, dist, &(x[WS(vs, 2)]));	       T3c = BYTWJ(&(W[TWVL * 2]), VADD(T39, T3a));	       ST(&(x[WS(vs, 2) + WS(is, 5)]), T3c, dist, &(x[WS(vs, 2) + WS(is, 1)]));	       T4g = BYTWJ(&(W[TWVL * 2]), VADD(T4d, T4e));	       ST(&(x[WS(vs, 2) + WS(is, 7)]), T4g, dist, &(x[WS(vs, 2) + WS(is, 1)]));	       T3J = BYTWJ(&(W[TWVL * 2]), VADD(T3G, T3H));	       ST(&(x[WS(vs, 2) + WS(is, 6)]), T3J, dist, &(x[WS(vs, 2)]));	       T2F = BYTWJ(&(W[TWVL * 2]), VADD(T2C, T2D));	       ST(&(x[WS(vs, 2) + WS(is, 4)]), T2F, dist, &(x[WS(vs, 2)]));	  }	  T28 = BYTWJ(&(W[TWVL * 2]), VADD(T25, T26));	  ST(&(x[WS(vs, 2) + WS(is, 3)]), T28, dist, &(x[WS(vs, 2) + WS(is, 1)]));	  T14 = BYTWJ(&(W[TWVL * 2]), VADD(T11, T12));	  ST(&(x[WS(vs, 2) + WS(is, 1)]), T14, dist, &(x[WS(vs, 2) + WS(is, 1)]));	  {	       V Th, Ti, Tb, Tg;	       Tb = VADD(T3, Ta);	       Tg = VBYI(VSUB(Tc, Tf));	       Th = BYTWJ(&(W[TWVL * 12]), VSUB(Tb, Tg));	       Ti = BYTWJ(&(W[0]), VADD(Tb, Tg));	       ST(&(x[WS(vs, 7)]), Th, dist, &(x[WS(vs, 7)]));	       ST(&(x[WS(vs, 1)]), Ti, dist, &(x[WS(vs, 1)]));	  }	  {	       V T40, T41, T3U, T3Z;	       T3U = VADD(T3M, T3T);	       T3Z = VBYI(VSUB(T3V, T3Y));	       T40 = BYTWJ(&(W[TWVL * 12]), VSUB(T3U, T3Z));	       T41 = BYTWJ(&(W[0]), VADD(T3U, T3Z));	       ST(&(x[WS(vs, 7) + WS(is, 7)]), T40, dist, &(x[WS(vs, 7) + WS(is, 1)]));	       ST(&(x[WS(vs, 1) + WS(is, 7)]), T41, dist, &(x[WS(vs, 1) + WS(is, 1)]));	  }	  {	       V T2p, T2q, T2j, T2o;	       T2j = VADD(T2b, T2i);	       T2o = VBYI(VSUB(T2k, T2n));	       T2p = BYTWJ(&(W[TWVL * 12]), VSUB(T2j, T2o));	       T2q = BYTWJ(&(W[0]), VADD(T2j, T2o));	       ST(&(x[WS(vs, 7) + WS(is, 4)]), T2p, dist, &(x[WS(vs, 7)]));	       ST(&(x[WS(vs, 1) + WS(is, 4)]), T2q, dist, &(x[WS(vs, 1)]));	  }	  {	       V T1S, T1T, T1M, T1R;	       T1M = VADD(T1E, T1L);	       T1R = VBYI(VSUB(T1N, T1Q));	       T1S = BYTWJ(&(W[TWVL * 12]), VSUB(T1M, T1R));	       T1T = BYTWJ(&(W[0]), VADD(T1M, T1R));	       ST(&(x[WS(vs, 7) + WS(is, 3)]), T1S, dist, &(x[WS(vs, 7) + WS(is, 1)]));	       ST(&(x[WS(vs, 1) + WS(is, 3)]), T1T, dist, &(x[WS(vs, 1) + WS(is, 1)]));	  }	  {	       V TO, TP, TI, TN;	       TI = VADD(TA, TH);	       TN = VBYI(VSUB(TJ, TM));	       TO = BYTWJ(&(W[TWVL * 12]), VSUB(TI, TN));	       TP = BYTWJ(&(W[0]), VADD(TI, TN));	       ST(&(x[WS(vs, 7) + WS(is, 1)]), TO, dist, &(x[WS(vs, 7) + WS(is, 1)]));	       ST(&(x[WS(vs, 1) + WS(is, 1)]), TP, dist, &(x[WS(vs, 1) + WS(is, 1)]));	  }	  {	       V T1l, T1m, T1f, T1k;	       T1f = VADD(T17, T1e);	       T1k = VBYI(VSUB(T1g, T1j));	       T1l = BYTWJ(&(W[TWVL * 12]), VSUB(T1f, T1k));	       T1m = BYTWJ(&(W[0]), VADD(T1f, T1k));	       ST(&(x[WS(vs, 7) + WS(is, 2)]), T1l, dist, &(x[WS(vs, 7)]));	       ST(&(x[WS(vs, 1) + WS(is, 2)]), T1m, dist, &(x[WS(vs, 1)]));	  }	  {	       V T3t, T3u, T3n, T3s;	       T3n = VADD(T3f, T3m);	       T3s = VBYI(VSUB(T3o, T3r));	       T3t = BYTWJ(&(W[TWVL * 12]), VSUB(T3n, T3s));	       T3u = BYTWJ(&(W[0]), VADD(T3n, T3s));	       ST(&(x[WS(vs, 7) + WS(is, 6)]), T3t, dist, &(x[WS(vs, 7)]));	       ST(&(x[WS(vs, 1) + WS(is, 6)]), T3u, dist, &(x[WS(vs, 1)]));	  }	  {	       V T2W, T2X, T2Q, T2V;	       T2Q = VADD(T2I, T2P);	       T2V = VBYI(VSUB(T2R, T2U));	       T2W = BYTWJ(&(W[TWVL * 12]), VSUB(T2Q, T2V));	       T2X = BYTWJ(&(W[0]), VADD(T2Q, T2V));	       ST(&(x[WS(vs, 7) + WS(is, 5)]), T2W, dist, &(x[WS(vs, 7) + WS(is, 1)]));	       ST(&(x[WS(vs, 1) + WS(is, 5)]), T2X, dist, &(x[WS(vs, 1) + WS(is, 1)]));	  }	  {	       V T1p, T1q, T1n, T1o;	       T1n = VSUB(T17, T1e);	       T1o = VBYI(VADD(T1j, T1g));	       T1p = BYTWJ(&(W[TWVL * 8]), VSUB(T1n, T1o));	       T1q = BYTWJ(&(W[TWVL * 4]), VADD(T1n, T1o));	       ST(&(x[WS(vs, 5) + WS(is, 2)]), T1p, dist, &(x[WS(vs, 5)]));	       ST(&(x[WS(vs, 3) + WS(is, 2)]), T1q, dist, &(x[WS(vs, 3)]));	  }	  {	       V Tl, Tm, Tj, Tk;	       Tj = VSUB(T3, Ta);	       Tk = VBYI(VADD(Tf, Tc));	       Tl = BYTWJ(&(W[TWVL * 8]), VSUB(Tj, Tk));	       Tm = BYTWJ(&(W[TWVL * 4]), VADD(Tj, Tk));	       ST(&(x[WS(vs, 5)]), Tl, dist, &(x[WS(vs, 5)]));	       ST(&(x[WS(vs, 3)]), Tm, dist, &(x[WS(vs, 3)]));	  }	  {	       V T2t, T2u, T2r, T2s;	       T2r = VSUB(T2b, T2i);	       T2s = VBYI(VADD(T2n, T2k));	       T2t = BYTWJ(&(W[TWVL * 8]), VSUB(T2r, T2s));	       T2u = BYTWJ(&(W[TWVL * 4]), VADD(T2r, T2s));	       ST(&(x[WS(vs, 5) + WS(is, 4)]), T2t, dist, &(x[WS(vs, 5)]));	       ST(&(x[WS(vs, 3) + WS(is, 4)]), T2u, dist, &(x[WS(vs, 3)]));	  }	  {	       V T3x, T3y, T3v, T3w;	       T3v = VSUB(T3f, T3m);	       T3w = VBYI(VADD(T3r, T3o));	       T3x = BYTWJ(&(W[TWVL * 8]), VSUB(T3v, T3w));	       T3y = BYTWJ(&(W[TWVL * 4]), VADD(T3v, T3w));	       ST(&(x[WS(vs, 5) + WS(is, 6)]), T3x, dist, &(x[WS(vs, 5)]));	       ST(&(x[WS(vs, 3) + WS(is, 6)]), T3y, dist, &(x[WS(vs, 3)]));	  }	  {	       V TS, TT, TQ, TR;	       TQ = VSUB(TA, TH);	       TR = VBYI(VADD(TM, TJ));	       TS = BYTWJ(&(W[TWVL * 8]), VSUB(TQ, TR));	       TT = BYTWJ(&(W[TWVL * 4]), VADD(TQ, TR));	       ST(&(x[WS(vs, 5) + WS(is, 1)]), TS, dist, &(x[WS(vs, 5) + WS(is, 1)]));	       ST(&(x[WS(vs, 3) + WS(is, 1)]), TT, dist, &(x[WS(vs, 3) + WS(is, 1)]));	  }	  {	       V T1W, T1X, T1U, T1V;	       T1U = VSUB(T1E, T1L);	       T1V = VBYI(VADD(T1Q, T1N));	       T1W = BYTWJ(&(W[TWVL * 8]), VSUB(T1U, T1V));	       T1X = BYTWJ(&(W[TWVL * 4]), VADD(T1U, T1V));	       ST(&(x[WS(vs, 5) + WS(is, 3)]), T1W, dist, &(x[WS(vs, 5) + WS(is, 1)]));	       ST(&(x[WS(vs, 3) + WS(is, 3)]), T1X, dist, &(x[WS(vs, 3) + WS(is, 1)]));	  }	  {	       V T30, T31, T2Y, T2Z;	       T2Y = VSUB(T2I, T2P);	       T2Z = VBYI(VADD(T2U, T2R));	       T30 = BYTWJ(&(W[TWVL * 8]), VSUB(T2Y, T2Z));	       T31 = BYTWJ(&(W[TWVL * 4]), VADD(T2Y, T2Z));	       ST(&(x[WS(vs, 5) + WS(is, 5)]), T30, dist, &(x[WS(vs, 5) + WS(is, 1)]));	       ST(&(x[WS(vs, 3) + WS(is, 5)]), T31, dist, &(x[WS(vs, 3) + WS(is, 1)]));	  }	  {	       V T44, T45, T42, T43;	       T42 = VSUB(T3M, T3T);	       T43 = VBYI(VADD(T3Y, T3V));	       T44 = BYTWJ(&(W[TWVL * 8]), VSUB(T42, T43));	       T45 = BYTWJ(&(W[TWVL * 4]), VADD(T42, T43));	       ST(&(x[WS(vs, 5) + WS(is, 7)]), T44, dist, &(x[WS(vs, 5) + WS(is, 1)]));	       ST(&(x[WS(vs, 3) + WS(is, 7)]), T45, dist, &(x[WS(vs, 3) + WS(is, 1)]));	  }     }     END_SIMD();     return W;}static const tw_instr twinstr[] = {     VTW(1),     VTW(2),     VTW(3),     VTW(4),     VTW(5),     VTW(6),     VTW(7),     {TW_NEXT, VL, 0}};static const ct_desc desc = { 8, "q1fv_8", twinstr, {264, 128, 0, 0}, &GENUS, 0, 0, 0 };void X(codelet_q1fv_8) (planner *p) {     X(kdft_difsq_register) (p, q1fv_8, &desc);}

⌨️ 快捷键说明

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