summaryrefslogtreecommitdiffstats
path: root/llvm/test/Regression
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
commit907123b1ab68cb45ef68b7ea69961291f0d44d7f (patch)
tree86a335057537f29b25b84e0eb5fff30aebdf7e3f /llvm/test/Regression
parentd78d97543777bf5629a19051acdb6f6ceab0d98b (diff)
downloadbcm5719-llvm-907123b1ab68cb45ef68b7ea69961291f0d44d7f.tar.gz
bcm5719-llvm-907123b1ab68cb45ef68b7ea69961291f0d44d7f.zip
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. llvm-svn: 23197
Diffstat (limited to 'llvm/test/Regression')
-rw-r--r--llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll b/llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll
index 9195d0f2677..65a69281486 100644
--- a/llvm/test/Regression/CodeGen/PowerPC/small-arguments.ll
+++ b/llvm/test/Regression/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()
OpenPOWER on IntegriCloud