Read these:
http://locklessinc.com/articles/vectorize/
https://gcc.gnu.org/projects/tree-ssa/vectorization.html
http://stackoverflow.com/questions/5061392/aligned-memory-management