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

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 5 14:53:59 PST 2016


spatel added a comment.

In http://reviews.llvm.org/D16907#345285, @hans wrote:

> In http://reviews.llvm.org/D16907#345277, @spatel wrote:
>
> > cc'ing some Intel folks both for clarity on the ABI doc and for the potential perf impact.
>
>
> Thanks. I've also raised this on the x86-64-abi mailing list: https://groups.google.com/d/msg/x86-64-abi/E8O33onbnGQ/gecUVGYzDQAJ
>
> But for this specific patch, GCC's and MSVC's behaviours seem very clear, so I'm hoping this one is fairly non-controversial :-)


I hope it's non-controversial too, but I'm very curious to know if this impacts big-core Intel perf. :)

If I'm reading H.J.'s proposal correctly, we should treat shorts the same as char/bool. Should it all be fixed in one shot?


================
Comment at: test/CodeGen/X86/tail-call-attrs.ll:13-15
@@ -12,5 +12,5 @@
 
 ; Here, there's more zero extension to be done between the call and the return,
 ; so a tail call is impossible (well, according to current Clang practice
 ; anyway. The AMD64 ABI isn't crystal clear on the matter).
 declare zeroext i32 @give_i32()
----------------
This comment doesn't apply anymore?


http://reviews.llvm.org/D16907





More information about the llvm-commits mailing list