summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/CellSPU
diff options
context:
space:
mode:
authorScott Michel <scottm@aero.org>2009-08-25 22:37:34 +0000
committerScott Michel <scottm@aero.org>2009-08-25 22:37:34 +0000
commitc5dd8bd8d24d362ebd36e41aeeb0f55ff9c79a4e (patch)
tree7b6746118656d303bd1e15313d546a63b44dbc29 /llvm/test/CodeGen/CellSPU
parentfaf516f34d93fa62042ccc304abecf92ffd74ab7 (diff)
downloadbcm5719-llvm-c5dd8bd8d24d362ebd36e41aeeb0f55ff9c79a4e.tar.gz
bcm5719-llvm-c5dd8bd8d24d362ebd36e41aeeb0f55ff9c79a4e.zip
Updated i128 sext support for CellSPU backend, contributed by Ken Werner (IBM)
llvm-svn: 80042
Diffstat (limited to 'llvm/test/CodeGen/CellSPU')
-rw-r--r--llvm/test/CodeGen/CellSPU/sext128.ll35
1 files changed, 32 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/CellSPU/sext128.ll b/llvm/test/CodeGen/CellSPU/sext128.ll
index 0cff87937bb..71962a94258 100644
--- a/llvm/test/CodeGen/CellSPU/sext128.ll
+++ b/llvm/test/CodeGen/CellSPU/sext128.ll
@@ -6,13 +6,42 @@ target triple = "spu"
define i128 @sext_i64_i128(i64 %a) {
entry:
+ %0 = sext i64 %a to i128
+ ret i128 %0
; CHECK: long 269488144
; CHECK: long 269488144
-; CHECK: long 16909060
-; CHECK: long 84281096
+; CHECK: long 66051
+; CHECK: long 67438087
; CHECK: rotmai
; CHECK: lqa
; CHECK: shufb
- %0 = sext i64 %a to i128
+}
+
+define i128 @sext_i32_i128(i32 %a) {
+entry:
+ %0 = sext i32 %a to i128
ret i128 %0
+; CHECK: long 269488144
+; CHECK: long 269488144
+; CHECK: long 269488144
+; CHECK: long 66051
+; CHECK: rotmai
+; CHECK: lqa
+; CHECK: shufb
}
+
+define i128 @sext_i32_i128a(float %a) {
+entry:
+ %0 = call i32 @myfunc(float %a)
+ %1 = sext i32 %0 to i128
+ ret i128 %1
+; CHECK: long 269488144
+; CHECK: long 269488144
+; CHECK: long 269488144
+; CHECK: long 66051
+; CHECK: rotmai
+; CHECK: lqa
+; CHECK: shufb
+}
+
+declare i32 @myfunc(float)
OpenPOWER on IntegriCloud