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

📄 m1fv_64.c

📁 fftw-3.0.1
💻 C
📖 第 1 页 / 共 2 页
字号:
		    T6Y = VSUB(T6k, T6l);	       }	       {		    V T6n, T6o, T1x, T1A;		    T6n = VADD(T4R, T4S);		    T6o = VADD(T4U, T4V);		    T6p = VADD(T6n, T6o);		    T6Z = VSUB(T6o, T6n);		    T1x = VADD(T1v, T1w);		    T1A = VADD(T1y, T1z);		    T1B = VSUB(T1x, T1A);		    T2L = VADD(T1x, T1A);	       }	       {		    V T3k, T3l, T4Q, T4X;		    T3k = VSUB(T1v, T1w);		    T3l = VADD(T1f, T18);		    T3m = VADD(T3k, T3l);		    T3Y = VSUB(T3k, T3l);		    T4Q = VSUB(T4O, T4P);		    T4X = VMUL(LDK(KP707106781), VADD(T4T, T4W));		    T4Y = VADD(T4Q, T4X);		    T5O = VSUB(T4Q, T4X);	       }	       {		    V T51, T52, T3n, T3o;		    T51 = VSUB(T4Z, T50);		    T52 = VMUL(LDK(KP707106781), VSUB(T4W, T4T));		    T53 = VADD(T51, T52);		    T5P = VSUB(T52, T51);		    T3n = VADD(T1q, T1n);		    T3o = VSUB(T1z, T1y);		    T3p = VADD(T3n, T3o);		    T3Z = VSUB(T3o, T3n);	       }	  }	  {	       V T6N, T6R, T6Q, T6S;	       {		    V T6L, T6M, T6O, T6P;		    T6L = VADD(T6f, T6i);		    T6M = VADD(T6F, T6C);		    T6N = VADD(T6L, T6M);		    T6R = VSUB(T6L, T6M);		    T6O = VADD(T6m, T6p);		    T6P = VADD(T6t, T6w);		    T6Q = VADD(T6O, T6P);		    T6S = VBYI(VSUB(T6P, T6O));	       }	       ST(&(xo[WS(os, 32)]), VSUB(T6N, T6Q), ovs, &(xo[0]));	       ST(&(xo[WS(os, 16)]), VADD(T6R, T6S), ovs, &(xo[0]));	       ST(&(xo[0]), VADD(T6N, T6Q), ovs, &(xo[0]));	       ST(&(xo[WS(os, 48)]), VSUB(T6R, T6S), ovs, &(xo[0]));	  }	  {	       V T6j, T6G, T6y, T6H, T6q, T6x;	       T6j = VSUB(T6f, T6i);	       T6G = VSUB(T6C, T6F);	       T6q = VSUB(T6m, T6p);	       T6x = VSUB(T6t, T6w);	       T6y = VMUL(LDK(KP707106781), VADD(T6q, T6x));	       T6H = VMUL(LDK(KP707106781), VSUB(T6x, T6q));	       {		    V T6z, T6I, T6J, T6K;		    T6z = VADD(T6j, T6y);		    T6I = VBYI(VADD(T6G, T6H));		    ST(&(xo[WS(os, 56)]), VSUB(T6z, T6I), ovs, &(xo[0]));		    ST(&(xo[WS(os, 8)]), VADD(T6z, T6I), ovs, &(xo[0]));		    T6J = VSUB(T6j, T6y);		    T6K = VBYI(VSUB(T6H, T6G));		    ST(&(xo[WS(os, 40)]), VSUB(T6J, T6K), ovs, &(xo[0]));		    ST(&(xo[WS(os, 24)]), VADD(T6J, T6K), ovs, &(xo[0]));	       }	  }	  {	       V T6X, T7i, T78, T7g, T74, T7f, T7b, T7j, T6W, T77;	       T6W = VMUL(LDK(KP707106781), VADD(T6U, T6V));	       T6X = VADD(T6T, T6W);	       T7i = VSUB(T6T, T6W);	       T77 = VMUL(LDK(KP707106781), VSUB(T6V, T6U));	       T78 = VADD(T76, T77);	       T7g = VSUB(T77, T76);	       {		    V T70, T73, T79, T7a;		    T70 = VFMA(LDK(KP923879532), T6Y, VMUL(LDK(KP382683432), T6Z));		    T73 = VFNMS(LDK(KP382683432), T72, VMUL(LDK(KP923879532), T71));		    T74 = VADD(T70, T73);		    T7f = VSUB(T73, T70);		    T79 = VFNMS(LDK(KP382683432), T6Y, VMUL(LDK(KP923879532), T6Z));		    T7a = VFMA(LDK(KP382683432), T71, VMUL(LDK(KP923879532), T72));		    T7b = VADD(T79, T7a);		    T7j = VSUB(T7a, T79);	       }	       {		    V T75, T7c, T7l, T7m;		    T75 = VADD(T6X, T74);		    T7c = VBYI(VADD(T78, T7b));		    ST(&(xo[WS(os, 60)]), VSUB(T75, T7c), ovs, &(xo[0]));		    ST(&(xo[WS(os, 4)]), VADD(T75, T7c), ovs, &(xo[0]));		    T7l = VBYI(VADD(T7g, T7f));		    T7m = VADD(T7i, T7j);		    ST(&(xo[WS(os, 12)]), VADD(T7l, T7m), ovs, &(xo[0]));		    ST(&(xo[WS(os, 52)]), VSUB(T7m, T7l), ovs, &(xo[0]));	       }	       {		    V T7d, T7e, T7h, T7k;		    T7d = VSUB(T6X, T74);		    T7e = VBYI(VSUB(T7b, T78));		    ST(&(xo[WS(os, 36)]), VSUB(T7d, T7e), ovs, &(xo[0]));		    ST(&(xo[WS(os, 28)]), VADD(T7d, T7e), ovs, &(xo[0]));		    T7h = VBYI(VSUB(T7f, T7g));		    T7k = VSUB(T7i, T7j);		    ST(&(xo[WS(os, 20)]), VADD(T7h, T7k), ovs, &(xo[0]));		    ST(&(xo[WS(os, 44)]), VSUB(T7k, T7h), ovs, &(xo[0]));	       }	  }	  {	       V T5N, T68, T61, T69, T5U, T65, T5Y, T66;	       {		    V T5L, T5M, T5Z, T60;		    T5L = VSUB(T4p, T4w);		    T5M = VSUB(T5u, T5t);		    T5N = VADD(T5L, T5M);		    T68 = VSUB(T5L, T5M);		    T5Z = VFNMS(LDK(KP555570233), T5O, VMUL(LDK(KP831469612), T5P));		    T60 = VFMA(LDK(KP555570233), T5R, VMUL(LDK(KP831469612), T5S));		    T61 = VADD(T5Z, T60);		    T69 = VSUB(T60, T5Z);	       }	       {		    V T5Q, T5T, T5W, T5X;		    T5Q = VFMA(LDK(KP831469612), T5O, VMUL(LDK(KP555570233), T5P));		    T5T = VFNMS(LDK(KP555570233), T5S, VMUL(LDK(KP831469612), T5R));		    T5U = VADD(T5Q, T5T);		    T65 = VSUB(T5T, T5Q);		    T5W = VSUB(T5r, T5q);		    T5X = VSUB(T4L, T4E);		    T5Y = VADD(T5W, T5X);		    T66 = VSUB(T5X, T5W);	       }	       {		    V T5V, T62, T6b, T6c;		    T5V = VADD(T5N, T5U);		    T62 = VBYI(VADD(T5Y, T61));		    ST(&(xo[WS(os, 58)]), VSUB(T5V, T62), ovs, &(xo[0]));		    ST(&(xo[WS(os, 6)]), VADD(T5V, T62), ovs, &(xo[0]));		    T6b = VBYI(VADD(T66, T65));		    T6c = VADD(T68, T69);		    ST(&(xo[WS(os, 10)]), VADD(T6b, T6c), ovs, &(xo[0]));		    ST(&(xo[WS(os, 54)]), VSUB(T6c, T6b), ovs, &(xo[0]));	       }	       {		    V T63, T64, T67, T6a;		    T63 = VSUB(T5N, T5U);		    T64 = VBYI(VSUB(T61, T5Y));		    ST(&(xo[WS(os, 38)]), VSUB(T63, T64), ovs, &(xo[0]));		    ST(&(xo[WS(os, 26)]), VADD(T63, T64), ovs, &(xo[0]));		    T67 = VBYI(VSUB(T65, T66));		    T6a = VSUB(T68, T69);		    ST(&(xo[WS(os, 22)]), VADD(T67, T6a), ovs, &(xo[0]));		    ST(&(xo[WS(os, 42)]), VSUB(T6a, T67), ovs, &(xo[0]));	       }	  }	  {	       V T11, T2C, T2v, T2D, T2e, T2z, T2s, T2A;	       {		    V Tr, T10, T2t, T2u;		    Tr = VSUB(Tb, Tq);		    T10 = VSUB(TI, TZ);		    T11 = VADD(Tr, T10);		    T2C = VSUB(Tr, T10);		    T2t = VFNMS(LDK(KP634393284), T1B, VMUL(LDK(KP773010453), T1s));		    T2u = VFMA(LDK(KP773010453), T2c, VMUL(LDK(KP634393284), T23));		    T2v = VADD(T2t, T2u);		    T2D = VSUB(T2u, T2t);	       }	       {		    V T1C, T2d, T2o, T2r;		    T1C = VFMA(LDK(KP634393284), T1s, VMUL(LDK(KP773010453), T1B));		    T2d = VFNMS(LDK(KP634393284), T2c, VMUL(LDK(KP773010453), T23));		    T2e = VADD(T1C, T2d);		    T2z = VSUB(T2d, T1C);		    T2o = VSUB(T2i, T2n);		    T2r = VSUB(T2p, T2q);		    T2s = VADD(T2o, T2r);		    T2A = VSUB(T2r, T2o);	       }	       {		    V T2f, T2w, T2F, T2G;		    T2f = VADD(T11, T2e);		    T2w = VBYI(VADD(T2s, T2v));		    ST(&(xo[WS(os, 57)]), VSUB(T2f, T2w), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 7)]), VADD(T2f, T2w), ovs, &(xo[WS(os, 1)]));		    T2F = VBYI(VADD(T2A, T2z));		    T2G = VADD(T2C, T2D);		    ST(&(xo[WS(os, 9)]), VADD(T2F, T2G), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 55)]), VSUB(T2G, T2F), ovs, &(xo[WS(os, 1)]));	       }	       {		    V T2x, T2y, T2B, T2E;		    T2x = VSUB(T11, T2e);		    T2y = VBYI(VSUB(T2v, T2s));		    ST(&(xo[WS(os, 39)]), VSUB(T2x, T2y), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 25)]), VADD(T2x, T2y), ovs, &(xo[WS(os, 1)]));		    T2B = VBYI(VSUB(T2z, T2A));		    T2E = VSUB(T2C, T2D);		    ST(&(xo[WS(os, 23)]), VADD(T2B, T2E), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 41)]), VSUB(T2E, T2B), ovs, &(xo[WS(os, 1)]));	       }	  }	  {	       V T3j, T3Q, T3J, T3R, T3y, T3N, T3G, T3O;	       {		    V T3b, T3i, T3H, T3I;		    T3b = VADD(T39, T3a);		    T3i = VADD(T3e, T3h);		    T3j = VADD(T3b, T3i);		    T3Q = VSUB(T3b, T3i);		    T3H = VFNMS(LDK(KP290284677), T3m, VMUL(LDK(KP956940335), T3p));		    T3I = VFMA(LDK(KP290284677), T3t, VMUL(LDK(KP956940335), T3w));		    T3J = VADD(T3H, T3I);		    T3R = VSUB(T3I, T3H);	       }	       {		    V T3q, T3x, T3C, T3F;		    T3q = VFMA(LDK(KP956940335), T3m, VMUL(LDK(KP290284677), T3p));		    T3x = VFNMS(LDK(KP290284677), T3w, VMUL(LDK(KP956940335), T3t));		    T3y = VADD(T3q, T3x);		    T3N = VSUB(T3x, T3q);		    T3C = VADD(T3A, T3B);		    T3F = VADD(T3D, T3E);		    T3G = VADD(T3C, T3F);		    T3O = VSUB(T3F, T3C);	       }	       {		    V T3z, T3K, T3T, T3U;		    T3z = VADD(T3j, T3y);		    T3K = VBYI(VADD(T3G, T3J));		    ST(&(xo[WS(os, 61)]), VSUB(T3z, T3K), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 3)]), VADD(T3z, T3K), ovs, &(xo[WS(os, 1)]));		    T3T = VBYI(VADD(T3O, T3N));		    T3U = VADD(T3Q, T3R);		    ST(&(xo[WS(os, 13)]), VADD(T3T, T3U), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 51)]), VSUB(T3U, T3T), ovs, &(xo[WS(os, 1)]));	       }	       {		    V T3L, T3M, T3P, T3S;		    T3L = VSUB(T3j, T3y);		    T3M = VBYI(VSUB(T3J, T3G));		    ST(&(xo[WS(os, 35)]), VSUB(T3L, T3M), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 29)]), VADD(T3L, T3M), ovs, &(xo[WS(os, 1)]));		    T3P = VBYI(VSUB(T3N, T3O));		    T3S = VSUB(T3Q, T3R);		    ST(&(xo[WS(os, 19)]), VADD(T3P, T3S), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 45)]), VSUB(T3S, T3P), ovs, &(xo[WS(os, 1)]));	       }	  }	  {	       V T4N, T5G, T5z, T5H, T5m, T5D, T5w, T5E;	       {		    V T4x, T4M, T5x, T5y;		    T4x = VADD(T4p, T4w);		    T4M = VADD(T4E, T4L);		    T4N = VADD(T4x, T4M);		    T5G = VSUB(T4x, T4M);		    T5x = VFNMS(LDK(KP195090322), T4Y, VMUL(LDK(KP980785280), T53));		    T5y = VFMA(LDK(KP195090322), T5f, VMUL(LDK(KP980785280), T5k));		    T5z = VADD(T5x, T5y);		    T5H = VSUB(T5y, T5x);	       }	       {		    V T54, T5l, T5s, T5v;		    T54 = VFMA(LDK(KP980785280), T4Y, VMUL(LDK(KP195090322), T53));		    T5l = VFNMS(LDK(KP195090322), T5k, VMUL(LDK(KP980785280), T5f));		    T5m = VADD(T54, T5l);		    T5D = VSUB(T5l, T54);		    T5s = VADD(T5q, T5r);		    T5v = VADD(T5t, T5u);		    T5w = VADD(T5s, T5v);		    T5E = VSUB(T5v, T5s);	       }	       {		    V T5n, T5A, T5J, T5K;		    T5n = VADD(T4N, T5m);		    T5A = VBYI(VADD(T5w, T5z));		    ST(&(xo[WS(os, 62)]), VSUB(T5n, T5A), ovs, &(xo[0]));		    ST(&(xo[WS(os, 2)]), VADD(T5n, T5A), ovs, &(xo[0]));		    T5J = VBYI(VADD(T5E, T5D));		    T5K = VADD(T5G, T5H);		    ST(&(xo[WS(os, 14)]), VADD(T5J, T5K), ovs, &(xo[0]));		    ST(&(xo[WS(os, 50)]), VSUB(T5K, T5J), ovs, &(xo[0]));	       }	       {		    V T5B, T5C, T5F, T5I;		    T5B = VSUB(T4N, T5m);		    T5C = VBYI(VSUB(T5z, T5w));		    ST(&(xo[WS(os, 34)]), VSUB(T5B, T5C), ovs, &(xo[0]));		    ST(&(xo[WS(os, 30)]), VADD(T5B, T5C), ovs, &(xo[0]));		    T5F = VBYI(VSUB(T5D, T5E));		    T5I = VSUB(T5G, T5H);		    ST(&(xo[WS(os, 18)]), VADD(T5F, T5I), ovs, &(xo[0]));		    ST(&(xo[WS(os, 46)]), VSUB(T5I, T5F), ovs, &(xo[0]));	       }	  }	  {	       V T2J, T34, T2X, T35, T2Q, T31, T2U, T32;	       {		    V T2H, T2I, T2V, T2W;		    T2H = VADD(Tb, Tq);		    T2I = VADD(T2q, T2p);		    T2J = VADD(T2H, T2I);		    T34 = VSUB(T2H, T2I);		    T2V = VFNMS(LDK(KP098017140), T2L, VMUL(LDK(KP995184726), T2K));		    T2W = VFMA(LDK(KP995184726), T2O, VMUL(LDK(KP098017140), T2N));		    T2X = VADD(T2V, T2W);		    T35 = VSUB(T2W, T2V);	       }	       {		    V T2M, T2P, T2S, T2T;		    T2M = VFMA(LDK(KP098017140), T2K, VMUL(LDK(KP995184726), T2L));		    T2P = VFNMS(LDK(KP098017140), T2O, VMUL(LDK(KP995184726), T2N));		    T2Q = VADD(T2M, T2P);		    T31 = VSUB(T2P, T2M);		    T2S = VADD(T2n, T2i);		    T2T = VADD(TZ, TI);		    T2U = VADD(T2S, T2T);		    T32 = VSUB(T2T, T2S);	       }	       {		    V T2R, T2Y, T37, T38;		    T2R = VADD(T2J, T2Q);		    T2Y = VBYI(VADD(T2U, T2X));		    ST(&(xo[WS(os, 63)]), VSUB(T2R, T2Y), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 1)]), VADD(T2R, T2Y), ovs, &(xo[WS(os, 1)]));		    T37 = VBYI(VADD(T32, T31));		    T38 = VADD(T34, T35);		    ST(&(xo[WS(os, 15)]), VADD(T37, T38), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 49)]), VSUB(T38, T37), ovs, &(xo[WS(os, 1)]));	       }	       {		    V T2Z, T30, T33, T36;		    T2Z = VSUB(T2J, T2Q);		    T30 = VBYI(VSUB(T2X, T2U));		    ST(&(xo[WS(os, 33)]), VSUB(T2Z, T30), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 31)]), VADD(T2Z, T30), ovs, &(xo[WS(os, 1)]));		    T33 = VBYI(VSUB(T31, T32));		    T36 = VSUB(T34, T35);		    ST(&(xo[WS(os, 17)]), VADD(T33, T36), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 47)]), VSUB(T36, T33), ovs, &(xo[WS(os, 1)]));	       }	  }	  {	       V T3X, T4i, T4b, T4j, T44, T4f, T48, T4g;	       {		    V T3V, T3W, T49, T4a;		    T3V = VSUB(T39, T3a);		    T3W = VSUB(T3E, T3D);		    T3X = VADD(T3V, T3W);		    T4i = VSUB(T3V, T3W);		    T49 = VFNMS(LDK(KP471396736), T3Y, VMUL(LDK(KP881921264), T3Z));		    T4a = VFMA(LDK(KP471396736), T41, VMUL(LDK(KP881921264), T42));		    T4b = VADD(T49, T4a);		    T4j = VSUB(T4a, T49);	       }	       {		    V T40, T43, T46, T47;		    T40 = VFMA(LDK(KP881921264), T3Y, VMUL(LDK(KP471396736), T3Z));		    T43 = VFNMS(LDK(KP471396736), T42, VMUL(LDK(KP881921264), T41));		    T44 = VADD(T40, T43);		    T4f = VSUB(T43, T40);		    T46 = VSUB(T3B, T3A);		    T47 = VSUB(T3h, T3e);		    T48 = VADD(T46, T47);		    T4g = VSUB(T47, T46);	       }	       {		    V T45, T4c, T4l, T4m;		    T45 = VADD(T3X, T44);		    T4c = VBYI(VADD(T48, T4b));		    ST(&(xo[WS(os, 59)]), VSUB(T45, T4c), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 5)]), VADD(T45, T4c), ovs, &(xo[WS(os, 1)]));		    T4l = VBYI(VADD(T4g, T4f));		    T4m = VADD(T4i, T4j);		    ST(&(xo[WS(os, 11)]), VADD(T4l, T4m), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 53)]), VSUB(T4m, T4l), ovs, &(xo[WS(os, 1)]));	       }	       {		    V T4d, T4e, T4h, T4k;		    T4d = VSUB(T3X, T44);		    T4e = VBYI(VSUB(T4b, T48));		    ST(&(xo[WS(os, 37)]), VSUB(T4d, T4e), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 27)]), VADD(T4d, T4e), ovs, &(xo[WS(os, 1)]));		    T4h = VBYI(VSUB(T4f, T4g));		    T4k = VSUB(T4i, T4j);		    ST(&(xo[WS(os, 21)]), VADD(T4h, T4k), ovs, &(xo[WS(os, 1)]));		    ST(&(xo[WS(os, 43)]), VSUB(T4k, T4h), ovs, &(xo[WS(os, 1)]));	       }	  }     }}static void m1fv_64(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, int v, int ivs, int ovs){     int i;     BEGIN_SIMD();     for (i = 0; i < v; i += VL) {	  m1fv_64_0(ri, ro, is, os, ivs, ovs);	  ri += VL * ivs;	  ro += VL * ovs;     }     END_SIMD();}static const kdft_desc desc = { 64, "m1fv_64", {404, 72, 52, 0}, &GENUS, 0, 0, 0, 0 };void X(codelet_m1fv_64) (planner *p) {     X(kdft_register) (p, m1fv_64, &desc);}

⌨️ 快捷键说明

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