diff options
author | Chris Lattner <sabre@nondot.org> | 2005-09-01 23:43:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-09-01 23:43:58 +0000 |
commit | 9832ce0f0a27dcc55266ce1008786206bcfa0f83 (patch) | |
tree | 9a258f1f91737792422ff362770f68e1fdd40c97 /test | |
parent | 39f60a230243d8da02f5e17be3f8918f689ec72b (diff) | |
download | external_llvm-9832ce0f0a27dcc55266ce1008786206bcfa0f83.zip external_llvm-9832ce0f0a27dcc55266ce1008786206bcfa0f83.tar.gz external_llvm-9832ce0f0a27dcc55266ce1008786206bcfa0f83.tar.bz2 |
Another case that shouldn't have sign extends: functions returning short
are known to return properly sign extended values, no need for an explicit
extension.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23197 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/PowerPC/small-arguments.ll | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/small-arguments.ll b/test/CodeGen/PowerPC/small-arguments.ll index 9195d0f..65a6928 100644 --- a/test/CodeGen/PowerPC/small-arguments.ll +++ b/test/CodeGen/PowerPC/small-arguments.ll @@ -10,3 +10,17 @@ int %test2(ushort %X) { %Z = and int %Y, 65535 ;; dead ret int %Z } + +void %test3() { + %tmp.0 = call short %foo() ;; no extsh! + %tmp.1 = setlt short %tmp.0, 1234 + br bool %tmp.1, label %then, label %UnifiedReturnBlock + +then: + call int %test1(short 0) + ret void +UnifiedReturnBlock: + ret void +} + +declare short %foo() |