blob: 71962a942587cab1dd912dc401337d76fa0c9923 [file] [log] [blame]
Scott Michel316e6fb2009-08-24 22:49:22 +00001; RUN: llvm-as -o - %s | llc -march=cellspu | FileCheck %s
Scott Michel36173e22009-08-24 22:28:53 +00002
3; ModuleID = 'sext128.bc'
4target datalayout = "E-p:32:32:128-i1:8:128-i8:8:128-i16:16:128-i32:32:128-i64:32:128-f32:32:128-f64:64:128-v64:128:128-v128:128:128-a0:0:128-s0:128:128"
5target triple = "spu"
6
7define i128 @sext_i64_i128(i64 %a) {
8entry:
Scott Michel58d95372009-08-25 22:37:34 +00009 %0 = sext i64 %a to i128
10 ret i128 %0
Scott Michel316e6fb2009-08-24 22:49:22 +000011; CHECK: long 269488144
12; CHECK: long 269488144
Scott Michel58d95372009-08-25 22:37:34 +000013; CHECK: long 66051
14; CHECK: long 67438087
Scott Michel316e6fb2009-08-24 22:49:22 +000015; CHECK: rotmai
16; CHECK: lqa
17; CHECK: shufb
Scott Michel36173e22009-08-24 22:28:53 +000018}
Scott Michel58d95372009-08-25 22:37:34 +000019
20define i128 @sext_i32_i128(i32 %a) {
21entry:
22 %0 = sext i32 %a to i128
23 ret i128 %0
24; CHECK: long 269488144
25; CHECK: long 269488144
26; CHECK: long 269488144
27; CHECK: long 66051
28; CHECK: rotmai
29; CHECK: lqa
30; CHECK: shufb
31}
32
33define i128 @sext_i32_i128a(float %a) {
34entry:
35 %0 = call i32 @myfunc(float %a)
36 %1 = sext i32 %0 to i128
37 ret i128 %1
38; CHECK: long 269488144
39; CHECK: long 269488144
40; CHECK: long 269488144
41; CHECK: long 66051
42; CHECK: rotmai
43; CHECK: lqa
44; CHECK: shufb
45}
46
47declare i32 @myfunc(float)