Path: utzoo!attcan!uunet!husc6!cs.utexas.edu!oakhill!wca From: wca@oakhill.UUCP (william anderson) Newsgroups: comp.arch Subject: Re: m88000 benchmarks (LONG) Keywords: m88000 benchmark fft instruction scheduling Message-ID: <1359@claude.oakhill.UUCP> Date: 30 Jun 88 18:58:18 GMT Organization: Motorola Inc. Austin, Tx Lines: 381 In messages <1941@pt.cs.cmu.edu> and <3208@ubc-cs.UUCP> Donald Lindsay and George Pajari discussed a particular benchmark for the M88000, the inner loop of an FFT calculation. In this article, we examine the output from two compilers for this code, and present the results of instruction rescheduling on the assembly code produced by these compilers. We also include a hand-coded version of the code which is nearly optimal for the given task. INTRODUCTION The subprogram which is considered here is a C language version of a fast Fourier transform subroutine, to wit: fft(xr,xi,n,m,wr,wi) float xr[],xi[],wr[],wi[]; unsigned int n,m; { unsigned int n1,n2,ia,ie,i,j,k,l; float c,s,xrt,xit; n2 = n; ie = 1; for (k=0 ; k>1; ia = 0; for (j=0 ; j