Re: REST impact paper
Sean Conner <[email protected]>
| Newsgroups | gmane.culture.people.rohit-khare |
|---|---|
| Message-ID | <[email protected]> |
It was thus said that the Great Stephen D. Williams once stated: > On 9/8/17 10:10 PM, Sean Conner wrote: > > I was playing around with the x86 SIMD instructions. I have code I > > wrote in the early 90s (in x86 assembly) that matched (I thought) quote > > well to a vectorized version. The core was an interative application of > > these two functions: > > > > x1 = (A * y + B) * x * (1 - x) > > y1 = (C * x + D) * y * (1 - y) > > > > I wrote a version using the vector instructions of the x86. I could > >easily beat clang (which uses LLVM), but try as I might, I could not beat > >GCC. > > Using inline-vector instructions? The whole function was written in assembler. Easier to do that than to try to handle differences of inline assembly/intrinsics between GCC and clang. > That can help a little, but to really get serious impact, you need to > write the whole loop / function in vectorized assembly. The proper > interleaving of vector and non-vector instructions is where you can start > getting serious multipliers. Hrm. Unfortunately, there aren't many non-vectorized instructions in the main loop. I've tried reordering instructions to avoid successive modifications to a register, but that didn't do anything to speed things up. -spc (It's not important as it was mostly for my own amusement anyway) _______________________________________________ FoRK mailing list http://xent.com/mailman/listinfo/fork