Mercurial > hg > CbC > CbC_llvm
diff test/CodeGen/X86/tail-call-attrs.ll @ 120:1172e4bd9c6f
update 4.0.0
author | mir3636 |
---|---|
date | Fri, 25 Nov 2016 19:14:25 +0900 |
parents | 95c75e76d11b |
children |
line wrap: on
line diff
--- a/test/CodeGen/X86/tail-call-attrs.ll Tue Jan 26 22:56:36 2016 +0900 +++ b/test/CodeGen/X86/tail-call-attrs.ll Fri Nov 25 19:14:25 2016 +0900 @@ -13,11 +13,11 @@ ; 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). +; FIXME: The high 24 bits returned from test_i32 are undefined; do tail call! declare zeroext i32 @give_i32() define zeroext i8 @test_i32() { ; CHECK-LABEL: test_i32: ; CHECK: callq _give_i32 -; CHECK: movzbl %al, %eax ; CHECK: ret %call = tail call zeroext i32 @give_i32() @@ -27,11 +27,11 @@ ; Here, one function is zeroext and the other is signext. To the extent that ; these both mean something they are incompatible so no tail call is possible. +; FIXME: The high 16 bits returned are undefined; do tail call! declare zeroext i16 @give_unsigned_i16() define signext i16 @test_incompatible_i16() { ; CHECK-LABEL: test_incompatible_i16: ; CHECK: callq _give_unsigned_i16 -; CHECK: cwtl ; CHECK: ret %call = tail call zeroext i16 @give_unsigned_i16()