summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/small-arguments.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-09-01 23:43:58 +0000
committerChris Lattner <sabre@nondot.org>2005-09-01 23:43:58 +0000
commit9832ce0f0a27dcc55266ce1008786206bcfa0f83 (patch)
tree9a258f1f91737792422ff362770f68e1fdd40c97 /test/CodeGen/PowerPC/small-arguments.ll
parent39f60a230243d8da02f5e17be3f8918f689ec72b (diff)
downloadllvm-9832ce0f0a27dcc55266ce1008786206bcfa0f83.tar.gz
llvm-9832ce0f0a27dcc55266ce1008786206bcfa0f83.tar.bz2
llvm-9832ce0f0a27dcc55266ce1008786206bcfa0f83.tar.xz
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/CodeGen/PowerPC/small-arguments.ll')
-rw-r--r--test/CodeGen/PowerPC/small-arguments.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/small-arguments.ll b/test/CodeGen/PowerPC/small-arguments.ll
index 9195d0f267..65a6928148 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()