------- Comment #3 from pault at gcc dot gnu dot org 2006-10-10 19:36 ------- (In reply to comment #2)
> One last comment: I'm not sure the stride shouldn't be set to one. The patch > above regtests fine, and can compile correctly everything I threw at it, but > maybe I have not been clever enough to think of something that would trigger a > check on the stride. Sorry, which stride? The inversion of the strides is what allows MATMUL to do neat thing with a*.b - I think that it's a horrible kludge but there we are. It is more efficient and I nearly bust myself getting MATMUL right! > > Paul, could I have your opinion on the patch and the stride question? After > you > comment, I'll go on designing patches for the other functions. Don't nest the build2's like that - use a temporary; you might find that fold_build2 gives a better account of itself for index calculations; cf the discussion on the list about the loop reverser for the scalarizer. Ar you sure that this renormalization of the bounds is required? After all: (i) indices should always be realtive to lbound, whatever it is; and (ii) why would anybody be interested to do this? After all, the temporary could be assigned to a variable with any lbound at all. Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29391