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

📄 n1k7i_13.s

📁 最新的FFT程序
💻 S
字号:
/* * Copyright (c) 2003, 2006 Matteo Frigo * Copyright (c) 2003, 2006 Massachusetts Institute of Technology * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * *//* This file was automatically generated --- DO NOT EDIT *//* Generated on Fri Jan 27 20:10:38 EST 2006 */#include "config.h"/* cheap-mode: VECTGRADE_FULL succeeded. (320 steps) *//* Generated by: ../../../genfft-k7/gen_notw -no-randomized-cse -n 13 -sign 1 -name n1k7i_13 *//* * Generator Id's :  * $Id: algsimp.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $ * $Id: fft.ml,v 1.4 2006-01-05 03:04:27 stevenj Exp $ * $Id: gen_notw.ml,v 1.12 2006-01-05 03:04:27 stevenj Exp $ *//* The following asm code is Copyright (c) 2000-2001 Stefan Kral */.section .rodata	.balign 64KP500000000KP500000000: .float +0.500000000000000000000000000000000000000000000, +0.500000000000000000000000000000000000000000000KP174138601KP174138601: .float +0.174138601152135905005660794929264742616964676, +0.174138601152135905005660794929264742616964676KP575140729KP575140729: .float +0.575140729474003121368385547455453388461001608, +0.575140729474003121368385547455453388461001608KP866025403KN866025403: .float +0.866025403784438646763723170752936183471402627, -0.866025403784438646763723170752936183471402627KP256247671KN300238635: .float +0.256247671582936600958684654061725059144125175, -0.300238635966332641462884626667381504676006424KP156891391KN011599105: .float +0.156891391051584611046832726756003269660212636, -0.011599105605768290721655456654083252189827041KN156891391KP011599105: .float -0.156891391051584611046832726756003269660212636, +0.011599105605768290721655456654083252189827041KN256247671KP300238635: .float -0.256247671582936600958684654061725059144125175, +0.300238635966332641462884626667381504676006424KP011599105KP156891391: .float +0.011599105605768290721655456654083252189827041, +0.156891391051584611046832726756003269660212636KP300238635KP256247671: .float +0.300238635966332641462884626667381504676006424, +0.256247671582936600958684654061725059144125175chs_hi: .long 0x00000000, 0x80000000KP300462606KP300462606: .float +0.300462606288665774426601772289207995520941381, +0.300462606288665774426601772289207995520941381KP083333333KP083333333: .float +0.083333333333333333333333333333333333333333333, +0.083333333333333333333333333333333333333333333KP075902986KP075902986: .float +0.075902986037193865983102897245103540356428373, +0.075902986037193865983102897245103540356428373KN503537032KP503537032: .float -0.503537032863766627246873853868466977093348562, +0.503537032863766627246873853868466977093348562chs_lohi: .long 0x80000000, 0x80000000KP251768516KN251768516: .float +0.251768516431883313623436926934233488546674281, -0.251768516431883313623436926934233488546674281KP387390585KP387390585: .float +0.387390585467617292130675966426762851778775217, +0.387390585467617292130675966426762851778775217KP113854479KP113854479: .float +0.113854479055790798974654345867655310534642560, +0.113854479055790798974654345867655310534642560KP132983124KP132983124: .float +0.132983124607418643793760531921092974399165133, +0.132983124607418643793760531921092974399165133KP265966249KP265966249: .float +0.265966249214837287587521063842185948798330267, +0.265966249214837287587521063842185948798330267KP258260390KP258260390: .float +0.258260390311744861420450644284508567852516811, +0.258260390311744861420450644284508567852516811chs_lo: .long 0x80000000, 0x00000000KP1_732050807KP1_732050807: .float +1.732050807568877293527446341505872366942805254, +1.732050807568877293527446341505872366942805254KP2_000000000KP2_000000000: .float +2.000000000000000000000000000000000000000000000, +2.000000000000000000000000000000000000000000000KN1_732050807KP1_732050807: .float -1.732050807568877293527446341505872366942805254, +1.732050807568877293527446341505872366942805254.text.text	.balign 64n1k7i_13:	subl $212, %esp	femms 	movl %ebx, 208(%esp)	movl 232(%esp), %edx	movl 236(%esp), %ebx	movl %esi, 204(%esp)	movl %edi, 200(%esp)	movl 220(%esp), %eax	movl %ebp, 196(%esp)	movl 228(%esp), %ecx	sall $2, 244(%esp)	leal (,%edx,4), %edx	sall $2, 248(%esp)	leal (,%ebx,4), %ebx	.p2align 4,,7.L0:	/* promise simd cell size = 8 */ 	leal (%edx,%edx,4), %esi	movq (%eax,%edx,8), %mm1	movq (%eax,%edx,2), %mm3	leal (%esi,%edx,2), %edi	movq (%eax,%esi), %mm0	leal (%edx,%edx,2), %esi	leal (%edi,%edx,4), %ebp	movq (%eax,%edi), %mm4	movq (%eax,%esi,2), %mm6	movq %mm1, %mm2	leal (%edx,%edx,4), %edi	movq (%eax,%ebp), %mm7	pfadd %mm0, %mm1	leal (%edx,%edx,8), %ebp	pfsub %mm0, %mm2	movq %mm4, %mm5	pfadd %mm3, %mm4	movq %mm7, %mm0	pfadd %mm6, %mm7	movq %mm1, 24(%esp)	pfsub %mm3, %mm5	pswapd %mm2, %mm2	pfsub %mm6, %mm0	movq (%eax,%edx,4), %mm6	movq %mm7, %mm1	pfadd %mm4, %mm7	movq %mm0, %mm3	pfsub %mm5, %mm0	pfsubr %mm4, %mm1	movq (%eax,%edi,2), %mm4	leal (%ebx,%ebx,4), %edi	movq %mm7, 16(%esp)	pfmul KP500000000KP500000000, %mm7	pfadd %mm5, %mm3	movq %mm0, 0(%esp)	movq %mm1, 32(%esp)	movq (%eax,%esi), %mm0	movq %mm4, %mm5	movq (%eax,%ebp), %mm1	pfadd %mm6, %mm4	pswapd %mm3, %mm3	leal (%ebx,%ebx,8), %ebp	pfsub %mm6, %mm5	movq %mm7, 8(%esp)	movq (%eax,%esi,4), %mm7	movq %mm0, %mm6	pfadd %mm1, %mm0	leal (%ebx,%ebx,2), %esi	pfsub %mm1, %mm6	movq %mm7, %mm1	pfadd %mm4, %mm7	pfmul KP500000000KP500000000, %mm4	movq %mm7, 40(%esp)	movq %mm0, %mm7	pfsub %mm4, %mm1	pfmul KP500000000KP500000000, %mm7	movq %mm1, 48(%esp)	movq (%eax,%edx), %mm4	movq %mm4, %mm1	pfadd %mm0, %mm4	movq %mm6, %mm0	pfadd %mm5, %mm6	pfsub %mm7, %mm1	movq %mm2, %mm7	pfadd %mm3, %mm2	pfmul KP500000000KP500000000, %mm3	pfsubr %mm5, %mm0	movq %mm6, 56(%esp)	movq 32(%esp), %mm6	movq %mm2, %mm5	pfmul KP174138601KP174138601, %mm2	pswapd %mm0, %mm0	pfmul KP575140729KP575140729, %mm5	pswapd %mm6, %mm6	pfmul KP866025403KN866025403, %mm0	pfsub %mm3, %mm7	pfmul KP866025403KN866025403, %mm6	movq %mm2, 80(%esp)	movq %mm5, 64(%esp)	movq 48(%esp), %mm2	movq %mm1, %mm5	movq %mm0, %mm3	pfsubr %mm7, %mm0	pfsub %mm2, %mm1	pfadd %mm2, %mm5	pfadd %mm7, %mm3	movq %mm0, %mm7	pfmul KP256247671KN300238635, %mm0	pswapd %mm1, %mm1	movq %mm5, 72(%esp)	pfmul KP156891391KN011599105, %mm7	movq %mm1, %mm2	pfadd %mm6, %mm1	pfsub %mm6, %mm2	movq %mm1, %mm5	pfmul KN156891391KP011599105, %mm1	pfmul KN256247671KP300238635, %mm5	movq %mm2, %mm6	pfmul KP011599105KP156891391, %mm2	pfmul KP300238635KP256247671, %mm6	pfsub %mm1, %mm0	movq %mm3, %mm1	pfmul KP300238635KP256247671, %mm3	pfadd %mm5, %mm7	movq 40(%esp), %mm5	pfmul KP011599105KP156891391, %mm1	movq %mm0, 128(%esp)	movq %mm4, %mm0	pfsub %mm5, %mm4	movq %mm7, 96(%esp)	movq 24(%esp), %mm7	pfadd %mm3, %mm2	pfadd %mm5, %mm0	pfsub %mm1, %mm6	movq %mm7, %mm3	pswapd %mm4, %mm4	pfadd 16(%esp), %mm7	movq %mm2, 136(%esp)	movq 72(%esp), %mm2	movq %mm4, %mm5	movq %mm0, %mm1	pfmul KP174138601KP174138601, %mm4	pxor chs_hi, %mm6	pfsub 8(%esp), %mm3	pfmul KP575140729KP575140729, %mm5	pfsub %mm7, %mm1	pfadd %mm7, %mm0	movq %mm6, 112(%esp)	movq %mm2, %mm7	pfsubr 64(%esp), %mm4	pfadd %mm3, %mm2	pfadd 80(%esp), %mm5	pfmul KP300462606KP300462606, %mm1	movq %mm0, %mm6	pfsub %mm3, %mm7	pfmul KP083333333KP083333333, %mm6	movq %mm2, %mm3	pxor chs_hi, %mm4	pfmul KP075902986KP075902986, %mm2	pfmul KN503537032KP503537032, %mm3	movq %mm5, 88(%esp)	movq %mm1, 104(%esp)	movq %mm4, 120(%esp)	movq %mm6, 144(%esp)	movq 0(%esp), %mm5	movq 56(%esp), %mm1	movq %mm5, %mm6	pxor chs_hi, %mm5	movq %mm1, %mm4	pxor chs_hi, %mm1	pxor chs_lohi, %mm6	pfadd %mm1, %mm5	pfadd %mm6, %mm4	movq %mm5, %mm1	pfmul KP251768516KN251768516, %mm5	movq %mm4, %mm6	pfmul KP387390585KP387390585, %mm4	pfmul KP113854479KP113854479, %mm1	pfmul KP132983124KP132983124, %mm6	pfadd %mm5, %mm2	movq %mm7, %mm5	pfmul KP265966249KP265966249, %mm7	pfmul KP258260390KP258260390, %mm5	pfadd %mm3, %mm1	movq (%eax), %mm3	/* simd data load/store barrier */ 	addl 244(%esp), %eax	pfadd %mm4, %mm7	movq %mm3, %mm4	pfadd %mm0, %mm3	movq %mm1, %mm0	pxor chs_lo, %mm1	pfsub %mm6, %mm5	pfsub 144(%esp), %mm4	movq %mm7, %mm6	pxor chs_hi, %mm7	movq %mm3, (%ecx)	movq 128(%esp), %mm3	pfadd %mm1, %mm6	movq 136(%esp), %mm1	pfadd %mm7, %mm0	movq %mm1, %mm7	pxor chs_hi, %mm1	movq %mm6, 152(%esp)	movq %mm3, %mm6	movq %mm0, 168(%esp)	movq 120(%esp), %mm0	pxor chs_lo, %mm6	pfadd %mm1, %mm3	movq %mm0, %mm1	pfadd %mm6, %mm7	movq 112(%esp), %mm6	pfmul KP1_732050807KP1_732050807, %mm3	pfsub %mm7, %mm0	pfmul KP2_000000000KP2_000000000, %mm7	movq %mm3, 160(%esp)	movq 96(%esp), %mm3	pfadd %mm7, %mm1	movq %mm6, %mm7	pfsub %mm3, %mm6	pfadd %mm3, %mm7	movq 88(%esp), %mm3	pfmul KN1_732050807KP1_732050807, %mm6	movq %mm6, 176(%esp)	movq %mm3, %mm6	pfsub %mm7, %mm3	pfmul KP2_000000000KP2_000000000, %mm7	movq %mm3, 184(%esp)	movq 104(%esp), %mm3	pfadd %mm7, %mm6	movq %mm3, %mm7	pfsub %mm5, %mm3	pfmul KP2_000000000KP2_000000000, %mm5	pxor chs_lo, %mm6	pfadd %mm5, %mm7	movq %mm4, %mm5	pfsub %mm2, %mm4	pfmul KP2_000000000KP2_000000000, %mm2	pfadd %mm2, %mm5	movq %mm4, %mm2	pfsub %mm3, %mm4	pfadd %mm3, %mm2	movq %mm5, %mm3	pfadd %mm7, %mm5	pfsub %mm7, %mm3	movq %mm5, %mm7	pfsub %mm1, %mm5	pfadd %mm1, %mm7	movq %mm3, %mm1	pfsub %mm6, %mm3	movq %mm5, (%ecx,%esi,4)	movq 168(%esp), %mm5	pfadd %mm6, %mm1	movq %mm2, %mm6	pfsub %mm0, %mm2	movq %mm7, (%ecx,%ebx)	movq 176(%esp), %mm7	pfadd %mm0, %mm6	movq %mm3, (%ecx,%ebx,8)	movq %mm5, %mm0	movq %mm1, (%ecx,%edi)	movq %mm2, %mm1	pfsub %mm7, %mm5	pfadd %mm7, %mm0	movq %mm6, %mm3	movq 160(%esp), %mm7	pxor chs_lo, %mm5	pxor chs_lo, %mm0	pfadd %mm5, %mm6	pfsub %mm5, %mm3	movq %mm4, %mm5	pfsub %mm0, %mm2	pfadd %mm0, %mm1	movq 184(%esp), %mm0	movq %mm6, (%ecx,%esi)	movq 152(%esp), %mm6	pfadd %mm7, %mm4	pfsub %mm7, %mm5	movq %mm3, (%ecx,%ebp)	leal (%edi,%ebx,2), %esi	movq %mm2, (%ecx,%ebx,4)	movq %mm0, %mm3	movq %mm1, (%ecx,%edi,2)	leal (%esi,%ebx,4), %ebp	movq %mm6, %mm7	pxor chs_hi, %mm6	movq %mm4, %mm2	pxor chs_lo, %mm3	leal (%ebx,%ebx,2), %edi	pfadd %mm6, %mm0	pfadd %mm3, %mm7	pxor chs_lo, %mm0	movq %mm7, %mm1	pfadd %mm5, %mm7	pfsubr %mm5, %mm1	pfadd %mm0, %mm2	pfsub %mm0, %mm4	movq %mm7, (%ecx,%ebx,2)	movq %mm1, (%ecx,%esi)	movq %mm2, (%ecx,%edi,2)	movq %mm4, (%ecx,%ebp)	addl 248(%esp), %ecx	decl 240(%esp)	jnz .L0	femms 	movl 208(%esp), %ebx	movl 204(%esp), %esi	movl 200(%esp), %edi	movl 196(%esp), %ebp	addl $212, %esp	ret .section .rodatanam:	.string "n1k7i_13"	.align 4desc:	.long 13	.long nam	.double 88	.double 34	.double 0	.double 0	.long fftwf_kdft_k7_pgenus	.long 0	.long 0	.long 0	.long 0.text	.align 4.globl fftwf_codelet_n1k7i_13fftwf_codelet_n1k7i_13:	subl $12,%esp	addl $-4,%esp	pushl $desc	pushl $n1k7i_13	pushl 28(%esp)	call fftwf_kdft_register	addl $16,%esp	addl $12,%esp	ret

⌨️ 快捷键说明

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