As I'm wading through the upgrade of our target from LLVM3.4.2 --> LLVM3.5, one of the puzzling things is lib/IR/DataLayout.cpp:DefaultAlignments.

Namely, this line:
  { INTEGER_ALIGN, 64, 4, 8 }, // i64

For all of the rest of the entries, the default alignment is set as the natural alignment; I'm curious as to why the default for this is only 32-bit aligned? This is rather surprising given that a v1i64 has a 64-bit alignment:
  { VECTOR_ALIGN, 64, 8, 8 }, // v2i32, v1i64, …