📄 n2sv_32.c
字号:
T4t = VSUB(T4r, T4s); T4A = VSUB(T4w, T4z); T5o = VADD(T4w, T4z); T4X = VFNMS(LDK(KP414213562), T4W, T4R); T58 = VFMA(LDK(KP414213562), T4R, T4W); T5n = VADD(T50, T4Z); T51 = VSUB(T4Z, T50); T4M = VFMA(LDK(KP414213562), T4L, T4G); T59 = VFNMS(LDK(KP414213562), T4G, T4L); T54 = VSUB(T52, T53); T5e = VADD(T53, T52); T5b = VFNMS(LDK(KP707106781), T4A, T4t); T4B = VFMA(LDK(KP707106781), T4A, T4t); { V T5s, T56, T4Y, T5c, T5a, T57, T55, T5t; T5i = VFMA(LDK(KP414213562), T5h, T5g); T5s = VFNMS(LDK(KP414213562), T5g, T5h); T56 = VADD(T4M, T4X); T4Y = VSUB(T4M, T4X); T5c = VADD(T59, T58); T5a = VSUB(T58, T59); T57 = VFMA(LDK(KP707106781), T54, T51); T55 = VFNMS(LDK(KP707106781), T54, T51); T5r = VFNMS(LDK(KP707106781), T5e, T5d); T5f = VFMA(LDK(KP707106781), T5e, T5d); T5t = VFMA(LDK(KP414213562), T5j, T5k); T5l = VFNMS(LDK(KP414213562), T5k, T5j); T61 = VFMA(LDK(KP923879532), T4Y, T4B); STM4(&(ro[6]), T61, ovs, &(ro[0])); T62 = VFNMS(LDK(KP923879532), T4Y, T4B); STM4(&(ro[22]), T62, ovs, &(ro[0])); T63 = VFMA(LDK(KP923879532), T5c, T5b); STM4(&(ro[30]), T63, ovs, &(ro[0])); T64 = VFNMS(LDK(KP923879532), T5c, T5b); STM4(&(ro[14]), T64, ovs, &(ro[0])); T65 = VFMA(LDK(KP923879532), T5a, T57); STM4(&(io[6]), T65, ovs, &(io[0])); T66 = VFNMS(LDK(KP923879532), T5a, T57); STM4(&(io[22]), T66, ovs, &(io[0])); T67 = VFMA(LDK(KP923879532), T56, T55); STM4(&(io[30]), T67, ovs, &(io[0])); T68 = VFNMS(LDK(KP923879532), T56, T55); STM4(&(io[14]), T68, ovs, &(io[0])); T5w = VADD(T5s, T5t); T5u = VSUB(T5s, T5t); } } { V Tf, T5P, T5z, T5S, T5U, T5O, T5K, T5L, T5M, Tu, T5T, T5N; { V T5E, T5Q, T5q, T5m, T5v, T5p, T5R, T5J, T5x, T5y; Tf = VADD(T7, Te); T5x = VSUB(T7, Te); T5y = VSUB(T1n, T1u); T1v = VADD(T1n, T1u); T69 = VFMA(LDK(KP923879532), T5u, T5r); STM4(&(ro[10]), T69, ovs, &(ro[0])); T6a = VFNMS(LDK(KP923879532), T5u, T5r); STM4(&(ro[26]), T6a, ovs, &(ro[0])); T5E = VADD(T5A, T5D); T5Q = VSUB(T5D, T5A); T5q = VSUB(T5l, T5i); T5m = VADD(T5i, T5l); T5v = VFMA(LDK(KP707106781), T5o, T5n); T5p = VFNMS(LDK(KP707106781), T5o, T5n); T5P = VSUB(T5x, T5y); T5z = VADD(T5x, T5y); T5R = VADD(T5F, T5I); T5J = VSUB(T5F, T5I); T6b = VFMA(LDK(KP923879532), T5m, T5f); STM4(&(ro[2]), T6b, ovs, &(ro[0])); T6c = VFNMS(LDK(KP923879532), T5m, T5f); STM4(&(ro[18]), T6c, ovs, &(ro[0])); T6d = VFMA(LDK(KP923879532), T5w, T5v); STM4(&(io[2]), T6d, ovs, &(io[0])); T6e = VFNMS(LDK(KP923879532), T5w, T5v); STM4(&(io[18]), T6e, ovs, &(io[0])); T6f = VFMA(LDK(KP923879532), T5q, T5p); STM4(&(io[10]), T6f, ovs, &(io[0])); T6g = VFNMS(LDK(KP923879532), T5q, T5p); STM4(&(io[26]), T6g, ovs, &(io[0])); T5S = VSUB(T5Q, T5R); T5U = VADD(T5Q, T5R); T5O = VSUB(T5J, T5E); T5K = VADD(T5E, T5J); T1g = VADD(T18, T1f); T5L = VSUB(T18, T1f); T5M = VSUB(Tt, Tm); Tu = VADD(Tm, Tt); } T6h = VFMA(LDK(KP707106781), T5S, T5P); STM4(&(ro[12]), T6h, ovs, &(ro[0])); T6i = VFNMS(LDK(KP707106781), T5S, T5P); STM4(&(ro[28]), T6i, ovs, &(ro[0])); T6j = VFMA(LDK(KP707106781), T5K, T5z); STM4(&(ro[4]), T6j, ovs, &(ro[0])); T6k = VFNMS(LDK(KP707106781), T5K, T5z); STM4(&(ro[20]), T6k, ovs, &(ro[0])); T5T = VADD(T5M, T5L); T5N = VSUB(T5L, T5M); T5V = VSUB(Tf, Tu); Tv = VADD(Tf, Tu); T6l = VFMA(LDK(KP707106781), T5U, T5T); STM4(&(io[4]), T6l, ovs, &(io[0])); T6m = VFNMS(LDK(KP707106781), T5U, T5T); STM4(&(io[20]), T6m, ovs, &(io[0])); T6n = VFMA(LDK(KP707106781), T5O, T5N); STM4(&(io[12]), T6n, ovs, &(io[0])); T6o = VFNMS(LDK(KP707106781), T5O, T5N); STM4(&(io[28]), T6o, ovs, &(io[0])); T60 = VADD(T5W, T5X); T5Y = VSUB(T5W, T5X); T11 = VSUB(TZ, TK); T10 = VADD(TK, TZ); } } { V T39, T3k, T3j, T3a, T1X, T37, T33, T31, T3d, T3c, T47, T4i, T4h, T48, T4b; V T4a, T4e, T3N, T41, T3D, T45, T3Z, T38, T36, T32, T2Q, T42, T3K, T3Q, T4d; { V T2e, T2n, T2F, T2O, T1w, T5Z; { V T1H, T1W, T2X, T30; T39 = VFMA(LDK(KP707106781), T1G, T1z); T1H = VFNMS(LDK(KP707106781), T1G, T1z); T1W = VSUB(T1O, T1V); T3k = VADD(T1O, T1V); T3j = VFMA(LDK(KP707106781), T2W, T2T); T2X = VFNMS(LDK(KP707106781), T2W, T2T); T30 = VSUB(T2Y, T2Z); T3a = VADD(T2Z, T2Y); T6p = VSUB(T5V, T5Y); STM4(&(ro[24]), T6p, ovs, &(ro[0])); T6q = VADD(T5V, T5Y); STM4(&(ro[8]), T6q, ovs, &(ro[0])); T6r = VADD(Tv, T10); STM4(&(ro[0]), T6r, ovs, &(ro[0])); T6s = VSUB(Tv, T10); STM4(&(ro[16]), T6s, ovs, &(ro[0])); T1w = VSUB(T1g, T1v); T5Z = VADD(T1g, T1v); T1X = VFMA(LDK(KP923879532), T1W, T1H); T37 = VFNMS(LDK(KP923879532), T1W, T1H); T33 = VFMA(LDK(KP923879532), T30, T2X); T31 = VFNMS(LDK(KP923879532), T30, T2X); } T3d = VFMA(LDK(KP707106781), T2d, T22); T2e = VFNMS(LDK(KP707106781), T2d, T22); T2n = VFNMS(LDK(KP707106781), T2m, T2j); T3c = VFMA(LDK(KP707106781), T2m, T2j); T6t = VADD(T5Z, T60); STM4(&(io[0]), T6t, ovs, &(io[0])); T6u = VSUB(T5Z, T60); STM4(&(io[16]), T6u, ovs, &(io[0])); T6v = VSUB(T1w, T11); STM4(&(io[24]), T6v, ovs, &(io[0])); T6w = VADD(T11, T1w); STM4(&(io[8]), T6w, ovs, &(io[0])); T3g = VFMA(LDK(KP707106781), T2E, T2t); T2F = VFNMS(LDK(KP707106781), T2E, T2t); T2O = VFNMS(LDK(KP707106781), T2N, T2K); T3f = VFMA(LDK(KP707106781), T2N, T2K); { V T3v, T35, T2o, T3C, T3V, T3Y; T47 = VFNMS(LDK(KP707106781), T3u, T3t); T3v = VFMA(LDK(KP707106781), T3u, T3t); T35 = VFNMS(LDK(KP668178637), T2e, T2n); T2o = VFMA(LDK(KP668178637), T2n, T2e); T3C = VSUB(T3y, T3B); T4i = VADD(T3y, T3B); T4h = VFNMS(LDK(KP707106781), T3U, T3T); T3V = VFMA(LDK(KP707106781), T3U, T3T); T3Y = VSUB(T3W, T3X); T48 = VADD(T3X, T3W); { V T3G, T34, T2P, T3J; T4b = VFMA(LDK(KP707106781), T3F, T3E); T3G = VFNMS(LDK(KP707106781), T3F, T3E); T34 = VFMA(LDK(KP668178637), T2F, T2O); T2P = VFNMS(LDK(KP668178637), T2O, T2F); T3J = VFNMS(LDK(KP707106781), T3I, T3H); T4a = VFMA(LDK(KP707106781), T3I, T3H); T4e = VFMA(LDK(KP707106781), T3M, T3L); T3N = VFNMS(LDK(KP707106781), T3M, T3L); T41 = VFNMS(LDK(KP923879532), T3C, T3v); T3D = VFMA(LDK(KP923879532), T3C, T3v); T45 = VFMA(LDK(KP923879532), T3Y, T3V); T3Z = VFNMS(LDK(KP923879532), T3Y, T3V); T38 = VADD(T35, T34); T36 = VSUB(T34, T35); T32 = VADD(T2o, T2P); T2Q = VSUB(T2o, T2P); T42 = VFNMS(LDK(KP668178637), T3G, T3J); T3K = VFMA(LDK(KP668178637), T3J, T3G); T3Q = VFNMS(LDK(KP707106781), T3P, T3O); T4d = VFMA(LDK(KP707106781), T3P, T3O); } } } { V T4n, T4c, T43, T3R, T4m, T4f; T6x = VFMA(LDK(KP831469612), T38, T37); STM4(&(ro[29]), T6x, ovs, &(ro[1])); T6y = VFNMS(LDK(KP831469612), T38, T37); STM4(&(ro[13]), T6y, ovs, &(ro[1])); T6z = VFMA(LDK(KP831469612), T36, T33); STM4(&(io[5]), T6z, ovs, &(io[1])); T6A = VFNMS(LDK(KP831469612), T36, T33); STM4(&(io[21]), T6A, ovs, &(io[1])); T6B = VFMA(LDK(KP831469612), T32, T31); STM4(&(io[29]), T6B, ovs, &(io[1])); T6C = VFNMS(LDK(KP831469612), T32, T31); STM4(&(io[13]), T6C, ovs, &(io[1])); T6D = VFMA(LDK(KP831469612), T2Q, T1X); STM4(&(ro[5]), T6D, ovs, &(ro[1])); T6E = VFNMS(LDK(KP831469612), T2Q, T1X); STM4(&(ro[21]), T6E, ovs, &(ro[1])); T43 = VFMA(LDK(KP668178637), T3N, T3Q); T3R = VFNMS(LDK(KP668178637), T3Q, T3N); { V T44, T46, T40, T3S; T44 = VSUB(T42, T43); T46 = VADD(T42, T43); T40 = VSUB(T3R, T3K); T3S = VADD(T3K, T3R); T4p = VFMA(LDK(KP923879532), T48, T47); T49 = VFNMS(LDK(KP923879532), T48, T47); T4l = VFNMS(LDK(KP923879532), T4i, T4h); T4j = VFMA(LDK(KP923879532), T4i, T4h); T4n = VFNMS(LDK(KP198912367), T4a, T4b); T4c = VFMA(LDK(KP198912367), T4b, T4a); T6F = VFMA(LDK(KP831469612), T44, T41); STM4(&(ro[11]), T6F, ovs, &(ro[1])); T6G = VFNMS(LDK(KP831469612), T44, T41); STM4(&(ro[27]), T6G, ovs, &(ro[1])); T6H = VFMA(LDK(KP831469612), T46, T45); STM4(&(io[3]), T6H, ovs, &(io[1])); T6I = VFNMS(LDK(KP831469612), T46, T45); STM4(&(io[19]), T6I, ovs, &(io[1])); T6J = VFMA(LDK(KP831469612), T40, T3Z); STM4(&(io[11]), T6J, ovs, &(io[1])); T6K = VFNMS(LDK(KP831469612), T40, T3Z); STM4(&(io[27]), T6K, ovs, &(io[1])); T6L = VFMA(LDK(KP831469612), T3S, T3D); STM4(&(ro[3]), T6L, ovs, &(ro[1])); T6M = VFNMS(LDK(KP831469612), T3S, T3D); STM4(&(ro[19]), T6M, ovs, &(ro[1])); } T4m = VFMA(LDK(KP198912367), T4d, T4e); T4f = VFNMS(LDK(KP198912367), T4e, T4d); T3n = VFNMS(LDK(KP923879532), T3a, T39); T3b = VFMA(LDK(KP923879532), T3a, T39); T3r = VFMA(LDK(KP923879532), T3k, T3j); T3l = VFNMS(LDK(KP923879532), T3k, T3j); T3o = VFNMS(LDK(KP198912367), T3c, T3d); T3e = VFMA(LDK(KP198912367), T3d, T3c); T4q = VADD(T4n, T4m); T4o = VSUB(T4m, T4n); T4k = VADD(T4c, T4f); T4g = VSUB(T4c, T4f); } } } } { V T6N, T6O, T6P, T6Q; T6N = VFMA(LDK(KP980785280), T4q, T4p); STM4(&(ro[31]), T6N, ovs, &(ro[1])); STN4(&(ro[28]), T6i, T6x, T63, T6N, ovs); T6O = VFNMS(LDK(KP980785280), T4q, T4p); STM4(&(ro[15]), T6O, ovs, &(ro[1])); STN4(&(ro[12]), T6h, T6y, T64, T6O, ovs); T6P = VFMA(LDK(KP980785280), T4o, T4l); STM4(&(io[7]), T6P, ovs, &(io[1])); STN4(&(io[4]), T6l, T6z, T65, T6P, ovs); T6Q = VFNMS(LDK(KP980785280), T4o, T4l); STM4(&(io[23]), T6Q, ovs, &(io[1])); STN4(&(io[20]), T6m, T6A, T66, T6Q, ovs); { V T6R, T6S, T6T, T6U; T6R = VFMA(LDK(KP980785280), T4k, T4j); STM4(&(io[31]), T6R, ovs, &(io[1])); STN4(&(io[28]), T6o, T6B, T67, T6R, ovs); T6S = VFNMS(LDK(KP980785280), T4k, T4j); STM4(&(io[15]), T6S, ovs, &(io[1])); STN4(&(io[12]), T6n, T6C, T68, T6S, ovs); T6T = VFMA(LDK(KP980785280), T4g, T49); STM4(&(ro[7]), T6T, ovs, &(ro[1])); STN4(&(ro[4]), T6j, T6D, T61, T6T, ovs); T6U = VFNMS(LDK(KP980785280), T4g, T49); STM4(&(ro[23]), T6U, ovs, &(ro[1])); STN4(&(ro[20]), T6k, T6E, T62, T6U, ovs); T3h = VFNMS(LDK(KP198912367), T3g, T3f); T3p = VFMA(LDK(KP198912367), T3f, T3g); } } { V T3s, T3q, T3i, T3m; T3s = VADD(T3o, T3p); T3q = VSUB(T3o, T3p); T3i = VADD(T3e, T3h); T3m = VSUB(T3h, T3e); { V T6V, T6W, T6X, T6Y; T6V = VFMA(LDK(KP980785280), T3q, T3n); STM4(&(ro[9]), T6V, ovs, &(ro[1])); STN4(&(ro[8]), T6q, T6V, T69, T6F, ovs); T6W = VFNMS(LDK(KP980785280), T3q, T3n); STM4(&(ro[25]), T6W, ovs, &(ro[1])); STN4(&(ro[24]), T6p, T6W, T6a, T6G, ovs); T6X = VFMA(LDK(KP980785280), T3s, T3r); STM4(&(io[1]), T6X, ovs, &(io[1])); STN4(&(io[0]), T6t, T6X, T6d, T6H, ovs); T6Y = VFNMS(LDK(KP980785280), T3s, T3r); STM4(&(io[17]), T6Y, ovs, &(io[1])); STN4(&(io[16]), T6u, T6Y, T6e, T6I, ovs); { V T6Z, T70, T71, T72; T6Z = VFMA(LDK(KP980785280), T3m, T3l); STM4(&(io[9]), T6Z, ovs, &(io[1])); STN4(&(io[8]), T6w, T6Z, T6f, T6J, ovs); T70 = VFNMS(LDK(KP980785280), T3m, T3l); STM4(&(io[25]), T70, ovs, &(io[1])); STN4(&(io[24]), T6v, T70, T6g, T6K, ovs); T71 = VFMA(LDK(KP980785280), T3i, T3b); STM4(&(ro[1]), T71, ovs, &(ro[1])); STN4(&(ro[0]), T6r, T71, T6b, T6L, ovs); T72 = VFNMS(LDK(KP980785280), T3i, T3b); STM4(&(ro[17]), T72, ovs, &(ro[1])); STN4(&(ro[16]), T6s, T72, T6c, T6M, ovs); } } } }}static const kdft_desc desc = { 32, "n2sv_32", {236, 0, 136, 0}, &GENUS, 0, 1, 0, 0 };void X(codelet_n2sv_32) (planner *p) { X(kdft_register) (p, n2sv_32, &desc);}#else /* HAVE_FMA *//* Generated by: ../../../genfft/gen_notw -simd -compact -variables 4 -pipeline-latency 8 -n 32 -name n2sv_32 -with-ostride 1 -include n2s.h -store-multiple 4 *//* * This function contains 372 FP additions, 84 FP multiplications, * (or, 340 additions, 52 multiplications, 32 fused multiply/add), * 130 stack variables, 7 constants, and 144 memory accesses */#include "n2s.h"static void n2sv_32(const R *ri, const R *ii, R *ro, R *io, stride is, stride os, INT v, INT ivs, INT ovs){ DVK(KP831469612, +0.831469612302545237078788377617905756738560812); DVK(KP555570233, +0.555570233019602224742830813948532874374937191); DVK(KP195090322, +0.195090322016128267848284868477022240927691618); DVK(KP980785280, +0.980785280403230449126182236134239036973933731); DVK(KP923879532, +0.923879532511286756128183189396788286822416626); DVK(KP382683432, +0.382683432365089771728459984030398866761344562); DVK(KP707106781, +0.707106781186547524400844362104849039284835938); INT i;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -