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

📄 q1bv_8.c

📁 fftw-3.0.1
💻 C
📖 第 1 页 / 共 2 页
字号:
	       {		    V T2G, T2H, T2J, T2K;		    T2G = LD(&(x[WS(vs, 5) + WS(is, 1)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2H = LD(&(x[WS(vs, 5) + WS(is, 5)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2I = VSUB(T2G, T2H);		    T35 = VADD(T2G, T2H);		    T2J = LD(&(x[WS(vs, 5) + WS(is, 7)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2K = LD(&(x[WS(vs, 5) + WS(is, 3)]), dist, &(x[WS(vs, 5) + WS(is, 1)]));		    T2L = VSUB(T2J, T2K);		    T36 = VADD(T2J, T2K);	       }	       T2M = VMUL(LDK(KP707106781), VSUB(T2I, T2L));	       T3b = VADD(T35, T36);	       T2U = VMUL(LDK(KP707106781), VADD(T2I, T2L));	       T37 = VBYI(VSUB(T35, T36));	  }	  {	       V T3f, T3C, T3i, T3D;	       {		    V T3d, T3e, T3g, T3h;		    T3d = LD(&(x[WS(vs, 6) + WS(is, 1)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3e = LD(&(x[WS(vs, 6) + WS(is, 5)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3f = VSUB(T3d, T3e);		    T3C = VADD(T3d, T3e);		    T3g = LD(&(x[WS(vs, 6) + WS(is, 7)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3h = LD(&(x[WS(vs, 6) + WS(is, 3)]), dist, &(x[WS(vs, 6) + WS(is, 1)]));		    T3i = VSUB(T3g, T3h);		    T3D = VADD(T3g, T3h);	       }	       T3j = VMUL(LDK(KP707106781), VSUB(T3f, T3i));	       T3I = VADD(T3C, T3D);	       T3r = VMUL(LDK(KP707106781), VADD(T3f, T3i));	       T3E = VBYI(VSUB(T3C, T3D));	  }	  ST(&(x[0]), VADD(Tv, Tw), dist, &(x[0]));	  ST(&(x[WS(is, 2)]), VADD(T1z, T1A), dist, &(x[0]));	  ST(&(x[WS(is, 5)]), VADD(T3a, T3b), dist, &(x[WS(is, 1)]));	  ST(&(x[WS(is, 7)]), VADD(T4e, T4f), dist, &(x[WS(is, 1)]));	  ST(&(x[WS(is, 6)]), VADD(T3H, T3I), dist, &(x[0]));	  ST(&(x[WS(is, 4)]), VADD(T2D, T2E), dist, &(x[0]));	  {	       V Tt, T4c, T2B, T24;	       ST(&(x[WS(is, 3)]), VADD(T26, T27), dist, &(x[WS(is, 1)]));	       ST(&(x[WS(is, 1)]), VADD(T12, T13), dist, &(x[WS(is, 1)]));	       Tt = BYTW(&(W[TWVL * 10]), VSUB(Tp, Ts));	       ST(&(x[WS(vs, 6)]), Tt, dist, &(x[WS(vs, 6)]));	       T4c = BYTW(&(W[TWVL * 10]), VSUB(T48, T4b));	       ST(&(x[WS(vs, 6) + WS(is, 7)]), T4c, dist, &(x[WS(vs, 6) + WS(is, 1)]));	       T2B = BYTW(&(W[TWVL * 10]), VSUB(T2x, T2A));	       ST(&(x[WS(vs, 6) + WS(is, 4)]), T2B, dist, &(x[WS(vs, 6)]));	       T24 = BYTW(&(W[TWVL * 10]), VSUB(T20, T23));	       ST(&(x[WS(vs, 6) + WS(is, 3)]), T24, dist, &(x[WS(vs, 6) + WS(is, 1)]));	  }	  {	       V T10, T1x, T3F, T38, T1y, Tu;	       T10 = BYTW(&(W[TWVL * 10]), VSUB(TW, TZ));	       ST(&(x[WS(vs, 6) + WS(is, 1)]), T10, dist, &(x[WS(vs, 6) + WS(is, 1)]));	       T1x = BYTW(&(W[TWVL * 10]), VSUB(T1t, T1w));	       ST(&(x[WS(vs, 6) + WS(is, 2)]), T1x, dist, &(x[WS(vs, 6)]));	       T3F = BYTW(&(W[TWVL * 10]), VSUB(T3B, T3E));	       ST(&(x[WS(vs, 6) + WS(is, 6)]), T3F, dist, &(x[WS(vs, 6)]));	       T38 = BYTW(&(W[TWVL * 10]), VSUB(T34, T37));	       ST(&(x[WS(vs, 6) + WS(is, 5)]), T38, dist, &(x[WS(vs, 6) + WS(is, 1)]));	       T1y = BYTW(&(W[TWVL * 2]), VADD(T1t, T1w));	       ST(&(x[WS(vs, 2) + WS(is, 2)]), T1y, dist, &(x[WS(vs, 2)]));	       Tu = BYTW(&(W[TWVL * 2]), VADD(Tp, Ts));	       ST(&(x[WS(vs, 2)]), Tu, dist, &(x[WS(vs, 2)]));	  }	  {	       V T2C, T3G, T11, T25, T39, T4d;	       T2C = BYTW(&(W[TWVL * 2]), VADD(T2x, T2A));	       ST(&(x[WS(vs, 2) + WS(is, 4)]), T2C, dist, &(x[WS(vs, 2)]));	       T3G = BYTW(&(W[TWVL * 2]), VADD(T3B, T3E));	       ST(&(x[WS(vs, 2) + WS(is, 6)]), T3G, dist, &(x[WS(vs, 2)]));	       T11 = BYTW(&(W[TWVL * 2]), VADD(TW, TZ));	       ST(&(x[WS(vs, 2) + WS(is, 1)]), T11, dist, &(x[WS(vs, 2) + WS(is, 1)]));	       T25 = BYTW(&(W[TWVL * 2]), VADD(T20, T23));	       ST(&(x[WS(vs, 2) + WS(is, 3)]), T25, dist, &(x[WS(vs, 2) + WS(is, 1)]));	       T39 = BYTW(&(W[TWVL * 2]), VADD(T34, T37));	       ST(&(x[WS(vs, 2) + WS(is, 5)]), T39, dist, &(x[WS(vs, 2) + WS(is, 1)]));	       T4d = BYTW(&(W[TWVL * 2]), VADD(T48, T4b));	       ST(&(x[WS(vs, 2) + WS(is, 7)]), T4d, dist, &(x[WS(vs, 2) + WS(is, 1)]));	  }	  {	       V Tx, T1B, T3c, T4g, T3J, T2F;	       Tx = BYTW(&(W[TWVL * 6]), VSUB(Tv, Tw));	       ST(&(x[WS(vs, 4)]), Tx, dist, &(x[WS(vs, 4)]));	       T1B = BYTW(&(W[TWVL * 6]), VSUB(T1z, T1A));	       ST(&(x[WS(vs, 4) + WS(is, 2)]), T1B, dist, &(x[WS(vs, 4)]));	       T3c = BYTW(&(W[TWVL * 6]), VSUB(T3a, T3b));	       ST(&(x[WS(vs, 4) + WS(is, 5)]), T3c, dist, &(x[WS(vs, 4) + WS(is, 1)]));	       T4g = BYTW(&(W[TWVL * 6]), VSUB(T4e, T4f));	       ST(&(x[WS(vs, 4) + WS(is, 7)]), T4g, dist, &(x[WS(vs, 4) + WS(is, 1)]));	       T3J = BYTW(&(W[TWVL * 6]), VSUB(T3H, T3I));	       ST(&(x[WS(vs, 4) + WS(is, 6)]), T3J, dist, &(x[WS(vs, 4)]));	       T2F = BYTW(&(W[TWVL * 6]), VSUB(T2D, T2E));	       ST(&(x[WS(vs, 4) + WS(is, 4)]), T2F, dist, &(x[WS(vs, 4)]));	  }	  T28 = BYTW(&(W[TWVL * 6]), VSUB(T26, T27));	  ST(&(x[WS(vs, 4) + WS(is, 3)]), T28, dist, &(x[WS(vs, 4) + WS(is, 1)]));	  T14 = BYTW(&(W[TWVL * 6]), VSUB(T12, T13));	  ST(&(x[WS(vs, 4) + WS(is, 1)]), T14, dist, &(x[WS(vs, 4) + WS(is, 1)]));	  {	       V Th, Ti, Tb, Tg;	       Tb = VBYI(VSUB(T7, Ta));	       Tg = VSUB(Te, Tf);	       Th = BYTW(&(W[TWVL * 4]), VADD(Tb, Tg));	       Ti = BYTW(&(W[TWVL * 8]), VSUB(Tg, Tb));	       ST(&(x[WS(vs, 3)]), Th, dist, &(x[WS(vs, 3)]));	       ST(&(x[WS(vs, 5)]), Ti, dist, &(x[WS(vs, 5)]));	  }	  {	       V T40, T41, T3U, T3Z;	       T3U = VBYI(VSUB(T3Q, T3T));	       T3Z = VSUB(T3X, T3Y);	       T40 = BYTW(&(W[TWVL * 4]), VADD(T3U, T3Z));	       T41 = BYTW(&(W[TWVL * 8]), VSUB(T3Z, T3U));	       ST(&(x[WS(vs, 3) + WS(is, 7)]), T40, dist, &(x[WS(vs, 3) + WS(is, 1)]));	       ST(&(x[WS(vs, 5) + WS(is, 7)]), T41, dist, &(x[WS(vs, 5) + WS(is, 1)]));	  }	  {	       V T2p, T2q, T2j, T2o;	       T2j = VBYI(VSUB(T2f, T2i));	       T2o = VSUB(T2m, T2n);	       T2p = BYTW(&(W[TWVL * 4]), VADD(T2j, T2o));	       T2q = BYTW(&(W[TWVL * 8]), VSUB(T2o, T2j));	       ST(&(x[WS(vs, 3) + WS(is, 4)]), T2p, dist, &(x[WS(vs, 3)]));	       ST(&(x[WS(vs, 5) + WS(is, 4)]), T2q, dist, &(x[WS(vs, 5)]));	  }	  {	       V T1S, T1T, T1M, T1R;	       T1M = VBYI(VSUB(T1I, T1L));	       T1R = VSUB(T1P, T1Q);	       T1S = BYTW(&(W[TWVL * 4]), VADD(T1M, T1R));	       T1T = BYTW(&(W[TWVL * 8]), VSUB(T1R, T1M));	       ST(&(x[WS(vs, 3) + WS(is, 3)]), T1S, dist, &(x[WS(vs, 3) + WS(is, 1)]));	       ST(&(x[WS(vs, 5) + WS(is, 3)]), T1T, dist, &(x[WS(vs, 5) + WS(is, 1)]));	  }	  {	       V TO, TP, TI, TN;	       TI = VBYI(VSUB(TE, TH));	       TN = VSUB(TL, TM);	       TO = BYTW(&(W[TWVL * 4]), VADD(TI, TN));	       TP = BYTW(&(W[TWVL * 8]), VSUB(TN, TI));	       ST(&(x[WS(vs, 3) + WS(is, 1)]), TO, dist, &(x[WS(vs, 3) + WS(is, 1)]));	       ST(&(x[WS(vs, 5) + WS(is, 1)]), TP, dist, &(x[WS(vs, 5) + WS(is, 1)]));	  }	  {	       V T1l, T1m, T1f, T1k;	       T1f = VBYI(VSUB(T1b, T1e));	       T1k = VSUB(T1i, T1j);	       T1l = BYTW(&(W[TWVL * 4]), VADD(T1f, T1k));	       T1m = BYTW(&(W[TWVL * 8]), VSUB(T1k, T1f));	       ST(&(x[WS(vs, 3) + WS(is, 2)]), T1l, dist, &(x[WS(vs, 3)]));	       ST(&(x[WS(vs, 5) + WS(is, 2)]), T1m, dist, &(x[WS(vs, 5)]));	  }	  {	       V T3t, T3u, T3n, T3s;	       T3n = VBYI(VSUB(T3j, T3m));	       T3s = VSUB(T3q, T3r);	       T3t = BYTW(&(W[TWVL * 4]), VADD(T3n, T3s));	       T3u = BYTW(&(W[TWVL * 8]), VSUB(T3s, T3n));	       ST(&(x[WS(vs, 3) + WS(is, 6)]), T3t, dist, &(x[WS(vs, 3)]));	       ST(&(x[WS(vs, 5) + WS(is, 6)]), T3u, dist, &(x[WS(vs, 5)]));	  }	  {	       V T2W, T2X, T2Q, T2V;	       T2Q = VBYI(VSUB(T2M, T2P));	       T2V = VSUB(T2T, T2U);	       T2W = BYTW(&(W[TWVL * 4]), VADD(T2Q, T2V));	       T2X = BYTW(&(W[TWVL * 8]), VSUB(T2V, T2Q));	       ST(&(x[WS(vs, 3) + WS(is, 5)]), T2W, dist, &(x[WS(vs, 3) + WS(is, 1)]));	       ST(&(x[WS(vs, 5) + WS(is, 5)]), T2X, dist, &(x[WS(vs, 5) + WS(is, 1)]));	  }	  {	       V T1p, T1q, T1n, T1o;	       T1n = VBYI(VADD(T1e, T1b));	       T1o = VADD(T1i, T1j);	       T1p = BYTW(&(W[0]), VADD(T1n, T1o));	       T1q = BYTW(&(W[TWVL * 12]), VSUB(T1o, T1n));	       ST(&(x[WS(vs, 1) + WS(is, 2)]), T1p, dist, &(x[WS(vs, 1)]));	       ST(&(x[WS(vs, 7) + WS(is, 2)]), T1q, dist, &(x[WS(vs, 7)]));	  }	  {	       V Tl, Tm, Tj, Tk;	       Tj = VBYI(VADD(Ta, T7));	       Tk = VADD(Te, Tf);	       Tl = BYTW(&(W[0]), VADD(Tj, Tk));	       Tm = BYTW(&(W[TWVL * 12]), VSUB(Tk, Tj));	       ST(&(x[WS(vs, 1)]), Tl, dist, &(x[WS(vs, 1)]));	       ST(&(x[WS(vs, 7)]), Tm, dist, &(x[WS(vs, 7)]));	  }	  {	       V T2t, T2u, T2r, T2s;	       T2r = VBYI(VADD(T2i, T2f));	       T2s = VADD(T2m, T2n);	       T2t = BYTW(&(W[0]), VADD(T2r, T2s));	       T2u = BYTW(&(W[TWVL * 12]), VSUB(T2s, T2r));	       ST(&(x[WS(vs, 1) + WS(is, 4)]), T2t, dist, &(x[WS(vs, 1)]));	       ST(&(x[WS(vs, 7) + WS(is, 4)]), T2u, dist, &(x[WS(vs, 7)]));	  }	  {	       V T3x, T3y, T3v, T3w;	       T3v = VBYI(VADD(T3m, T3j));	       T3w = VADD(T3q, T3r);	       T3x = BYTW(&(W[0]), VADD(T3v, T3w));	       T3y = BYTW(&(W[TWVL * 12]), VSUB(T3w, T3v));	       ST(&(x[WS(vs, 1) + WS(is, 6)]), T3x, dist, &(x[WS(vs, 1)]));	       ST(&(x[WS(vs, 7) + WS(is, 6)]), T3y, dist, &(x[WS(vs, 7)]));	  }	  {	       V TS, TT, TQ, TR;	       TQ = VBYI(VADD(TH, TE));	       TR = VADD(TL, TM);	       TS = BYTW(&(W[0]), VADD(TQ, TR));	       TT = BYTW(&(W[TWVL * 12]), VSUB(TR, TQ));	       ST(&(x[WS(vs, 1) + WS(is, 1)]), TS, dist, &(x[WS(vs, 1) + WS(is, 1)]));	       ST(&(x[WS(vs, 7) + WS(is, 1)]), TT, dist, &(x[WS(vs, 7) + WS(is, 1)]));	  }	  {	       V T1W, T1X, T1U, T1V;	       T1U = VBYI(VADD(T1L, T1I));	       T1V = VADD(T1P, T1Q);	       T1W = BYTW(&(W[0]), VADD(T1U, T1V));	       T1X = BYTW(&(W[TWVL * 12]), VSUB(T1V, T1U));	       ST(&(x[WS(vs, 1) + WS(is, 3)]), T1W, dist, &(x[WS(vs, 1) + WS(is, 1)]));	       ST(&(x[WS(vs, 7) + WS(is, 3)]), T1X, dist, &(x[WS(vs, 7) + WS(is, 1)]));	  }	  {	       V T30, T31, T2Y, T2Z;	       T2Y = VBYI(VADD(T2P, T2M));	       T2Z = VADD(T2T, T2U);	       T30 = BYTW(&(W[0]), VADD(T2Y, T2Z));	       T31 = BYTW(&(W[TWVL * 12]), VSUB(T2Z, T2Y));	       ST(&(x[WS(vs, 1) + WS(is, 5)]), T30, dist, &(x[WS(vs, 1) + WS(is, 1)]));	       ST(&(x[WS(vs, 7) + WS(is, 5)]), T31, dist, &(x[WS(vs, 7) + WS(is, 1)]));	  }	  {	       V T44, T45, T42, T43;	       T42 = VBYI(VADD(T3T, T3Q));	       T43 = VADD(T3X, T3Y);	       T44 = BYTW(&(W[0]), VADD(T42, T43));	       T45 = BYTW(&(W[TWVL * 12]), VSUB(T43, T42));	       ST(&(x[WS(vs, 1) + WS(is, 7)]), T44, dist, &(x[WS(vs, 1) + WS(is, 1)]));	       ST(&(x[WS(vs, 7) + WS(is, 7)]), T45, dist, &(x[WS(vs, 7) + 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, "q1bv_8", twinstr, {264, 128, 0, 0}, &GENUS, 0, 0, 0 };void X(codelet_q1bv_8) (planner *p) {     X(kdft_difsq_register) (p, q1bv_8, &desc);}

⌨️ 快捷键说明

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