Linked by ebasconp on Fri 10th Jun 2011 22:22 UTC
Thread beginning with comment 477095
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: GCC isn't all that great
by burnttoys on Mon 13th Jun 2011 20:18
in reply to "RE[4]: GCC isn't all that great"
I couldn't tell you more about GCC vectorisation in any great detail.
I have seen restrict et al work (that is generate vector code) on ARM for the NEON instruction set but right now I can't remember if that was RVCT or GCC. If ARM is your thing it might be worth checking the linaro.org builds of GCC. For x86 - I'm afraid I've no idea. I just hit "build" in Qt Creator as none of my x86 code is really that performance critical anymore!
RE[6]: GCC isn't all that great
by Alfman on Tue 14th Jun 2011 07:26
in reply to "RE[5]: GCC isn't all that great"
burnttoys,
There seem to have been a small army of devs reporting issues with 'restrict' since 2002, which have been marked as dups of each other. They ultimately point to this bug which indicates a fix in GCC 4.5.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14187




Member since:
2011-01-28
burnttoys,
"That code can not be vectorised as it is written as 'a' and 'b' may point to overlapping areas of memory.
The 'restrict' keyword is necessary."
Wow, thanks burnttoys, you are correct, some constructive criticism!
It should be using restrict just like 'memcpy' does.
Unfortunately I tried it and it didn't change the output at all. Additionally I see a lot of devs claiming that the restrict keyword doesn't have any effect under GCC, can you confirm that?