https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117008
--- Comment #13 from Matt Bentley <mattreecebentley at gmail dot com> --- Bool C-arrays also display the same problem, but only if a warm-up loop is present before the main loop (to 'warm up' the cache). I discovered this by accident the other day. char arrays and int arrays did not display the same slowdown. A pre-mainloop warm up is quite common for microbenchmarks to get the data in cache. I hadn't done that with the previous additional tests mentioned above, but once I did I found that vector<char> had the same -march=native pessimisation. I'm not assuming that the cause of this is the same, but the result certainly is (between 10%-20% slowdown under -march=native). Attaching the .ii files for the 2 new cases.