blob: de6ed6b6406a45f78ea42e7d30465fcc241c92e7 [file] [log] [blame]
Scott Michel314acc22007-12-19 20:50:49 +00001; RUN: llvm-as -o - %s | llc -march=cellspu > %t1.s
Chris Lattnerb39abf92008-01-18 19:53:43 +00002; RUN: grep brsl %t1.s | count 1
Scott Michel314acc22007-12-19 20:50:49 +00003; RUN: grep brasl %t1.s | count 1
Scott Michela313fb02008-10-30 01:51:48 +00004; RUN: grep stqd %t1.s | count 81
Scott Michel314acc22007-12-19 20:50:49 +00005
6target datalayout = "E-p:32:32:128-f64:64:128-f32:32:128-i64:32:128-i32:32:128-i16:16:128-i8:8:128-i1:8:128-a0:0:128-v128:128:128-s0:128:128"
7target triple = "spu"
8
9define i32 @main() {
10entry:
11 %a = call i32 @stub_1(i32 1, float 0x400921FA00000000)
12 call void @extern_stub_1(i32 %a, i32 4)
13 ret i32 %a
14}
15
16declare void @extern_stub_1(i32, i32)
17
18define i32 @stub_1(i32 %x, float %y) {
19entry:
20 ret i32 0
21}
Scott Michela313fb02008-10-30 01:51:48 +000022
23; vararg call: ensure that all caller-saved registers are spilled to the
24; stack:
25define i32 @stub_2(...) {
26entry:
27 ret i32 0
28}