X86: Fix kernel Input/Output GetElementPtr offset issue

http://b/24142721

The disagreement between module and x86 target datalayout causes
mismatched size calculation of structs with 64-bit scalar fields.

This patch solves the issue by treating input and output pointers as
byte* pointers, indexing them with explicit byte offsets computed using
a modified data layout for x86, with alignment for 64-bit scalars set to
8-bytes, and casting the indexed pointers back to the real type.

Change-Id: Id99ea0e37f5cc9ad93cc6a5979db79ff11b3998c
Signed-off-by: Yong Chen <yong.a.chen@intel.com>
2 files changed