Path: utzoo!attcan!uunet!cs.utexas.edu!rice!titan!preston From: preston@titan.rice.edu (Preston Briggs) Newsgroups: comp.lang.misc Subject: Re: Common subexpression optimization Message-ID: <4616@brazos.Rice.edu> Date: 6 Feb 90 18:03:08 GMT References: <4561@scolex.sco.COM> <14214@lambda.UUCP> <2217@sunset.MATH.UCLA.EDU> <4466@brazos.Rice.edu> Sender: root@rice.edu Organization: Rice University, Houston Lines: 31 In article pcg@rupert.cs.aber.ac.uk (Piercarlo Grandi) writes: >Let me disagree. "more effective" is a strong statement. Armchair >evidence tends to point out that current highly optimizing >compilers get better results with "register" declarations (some >flimsy data points: dhrystones, the matrix multiplication example >recoded in C, etc...). Which reminds me... I'm still hoping to see somebody recode matrix multiply in C, using all the source hacks they want, so we can compare it to what we get using Fortran and our (not mine, friends') latest transformations. We'd run it on a MIPS M/120, with 32 integer registers and 16 fp regs, so you've got plenty of room for register declarations, pointer variables, and such. 64K data cache, so plenty of room there. The Fortran source is subroutine mm(A, B, C, n) do 1 i = 1, n do 1 j = 1, n A(i, j) = 0.0 do 1 k = 1, n 1 A(i, j) = A(i, j) + B(i, k) * C(k, j) end Preston Briggs preston@titan.rice.edu