It doesn't optimize because the compiler needs to prove that the loop is executed a multiple of the vector number of times. I've read the assembly and its not vectorizing it. Also there is a problem in floating point reordering causing a change in precision preventing vectorisation even with -ffast-math. I think the main problem is that a number of functions span translation units so the arrays have to be converted back to arrays of doubles for call. That is the classic C++ problem of not being able to do cross translation unit optimizations.
Brainstorming: Noise optimization
|
« Next Oldest | Next Newest »
|
Users browsing this thread: 8 Guest(s)