[PATCH] D16907: [X86] Don't zero/sign-extend i1 or i8 return values to 32 bits (PR22532)

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 4 17:48:19 PST 2016

hans added a comment.

> I can't find mention of this in the x86_64 ABI.

After looking some more, it *is* mentioned in a newer version of the document: [1, Footnote 16 on Page 23]: "Other bits are left unspecified, hence the consumer side of those values can rely on it being 0 or 1 when truncated to 8 bit.", so I suppose that's where LLVM's current special-casing of i1 on x86_64 comes from.

[1]. https://github.com/hjl-tools/x86-psABI/wiki/x86-64-psABI-r249.pdf


More information about the llvm-commits mailing list