summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/PowerPC
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2008-07-15 10:14:24 +0000
committerDuncan Sands <baldrick@free.fr>2008-07-15 10:14:24 +0000
commit202225cdf829e5dca2475525921017257658cf17 (patch)
tree47fd3f781712fba37f213e58fcf849716f142c53 /llvm/test/CodeGen/PowerPC
parentb9b5a671d36603f30982e1452182f0e5a1844ede (diff)
downloadbcm5719-llvm-202225cdf829e5dca2475525921017257658cf17.tar.gz
bcm5719-llvm-202225cdf829e5dca2475525921017257658cf17.zip
LegalizeTypes support for promotion of SIGN_EXTEND_INREG.
llvm-svn: 53603
Diffstat (limited to 'llvm/test/CodeGen/PowerPC')
-rw-r--r--llvm/test/CodeGen/PowerPC/2008-07-15-SignExtendInreg.ll17
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/PowerPC/2008-07-15-SignExtendInreg.ll b/llvm/test/CodeGen/PowerPC/2008-07-15-SignExtendInreg.ll
new file mode 100644
index 00000000000..32e36427c5e
--- /dev/null
+++ b/llvm/test/CodeGen/PowerPC/2008-07-15-SignExtendInreg.ll
@@ -0,0 +1,17 @@
+; RUN: llvm-as < %s | llc
+target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128"
+target triple = "powerpc-apple-darwin9"
+
+define i16 @t(i16* %dct) signext nounwind {
+entry:
+ load i16* null, align 2 ; <i16>:0 [#uses=2]
+ lshr i16 %0, 11 ; <i16>:1 [#uses=0]
+ trunc i16 %0 to i8 ; <i8>:2 [#uses=1]
+ sext i8 %2 to i16 ; <i16>:3 [#uses=1]
+ add i16 0, %3 ; <i16>:4 [#uses=1]
+ sext i16 %4 to i32 ; <i32>:5 [#uses=1]
+ %dcval.0.in = shl i32 %5, 0 ; <i32> [#uses=1]
+ %dcval.0 = trunc i32 %dcval.0.in to i16 ; <i16> [#uses=1]
+ store i16 %dcval.0, i16* %dct, align 2
+ ret i16 0
+}
OpenPOWER on IntegriCloud