[X86] Fix Windows `i1 zeroext` conventions to use i8 instead of i32
authorReid Kleckner <rnk@google.com>
Fri, 23 Mar 2018 23:38:53 +0000 (23:38 +0000)
committerReid Kleckner <rnk@google.com>
Fri, 23 Mar 2018 23:38:53 +0000 (23:38 +0000)
commite27b410661f5e3a8ead2645eb27567a376668e0f
treeafe11a5bc3903ab05a8671a11075de5d3c0ad7bd
parent5cd35ed4fe72d96354c6f17ae071747ea62f0f14
[X86] Fix Windows `i1 zeroext` conventions to use i8 instead of i32

Both GCC and MSVC only look at the low byte of a boolean when it is
passed.

llvm-svn: 328386
llvm/lib/Target/X86/X86CallingConv.td
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/avx512-intel-ocl.ll
llvm/test/CodeGen/X86/h-registers-0.ll
llvm/test/CodeGen/X86/test-shrink.ll
llvm/test/CodeGen/X86/vec_cast.ll
llvm/test/CodeGen/X86/win32-bool.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/win64-bool.ll [new file with mode: 0644]
llvm/test/CodeGen/X86/xor.ll