Auto vectorization can be impressive, but it applies to hard numerical code, not so much in regular code bases. I regularly debug assembly in my job, and in the vast majority of cases it's a fairly straightforward translation of the C/C++ code. Stuff like cache locality or using the GPU is still determined by the C code.
I'll concede there's more fine variations to think about than with an 8-bit system, though, with the padding, etc.
I'll concede there's more fine variations to think about than with an 8-bit system, though, with the padding, etc.