]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/Mips/mips16_32_4.ll
Vendor import of llvm release_34 branch r197841 (effectively, 3.4 RC3):
[FreeBSD/FreeBSD.git] / test / CodeGen / Mips / mips16_32_4.ll
1 ; RUN: llc  -march=mipsel -mcpu=mips16 -relocation-model=static -O3 < %s -mips-mixed-16-32  | FileCheck %s -check-prefix=16
2 ; RUN: llc  -march=mipsel -mcpu=mips32 -relocation-model=static -O3 < %s -mips-mixed-16-32  | FileCheck %s -check-prefix=32
3
4 define void @foo() #0 {
5 entry:
6   ret void
7 }
8
9 ; 16:   .set    mips16                  # @foo
10 ; 16:   .ent    foo
11 ; 16:   save    {{.+}}
12 ; 16:   restore {{.+}} 
13 ; 16:   .end    foo
14 ; 32:   .set    mips16                  # @foo
15 ; 32:   .ent    foo
16 ; 32:   save    {{.+}}
17 ; 32:   restore {{.+}} 
18 ; 32:   .end    foo
19 define void @nofoo() #1 {
20 entry:
21   ret void
22 }
23
24 ; 16:   .set    nomips16                  # @nofoo
25 ; 16:   .ent    nofoo
26 ; 16:   .set    noreorder
27 ; 16:   .set    nomacro
28 ; 16:   .set    noat
29 ; 16:   jr      $ra
30 ; 16:   nop
31 ; 16:   .set    at
32 ; 16:   .set    macro
33 ; 16:   .set    reorder
34 ; 16:   .end    nofoo
35 ; 32:   .set    nomips16                  # @nofoo
36 ; 32:   .ent    nofoo
37 ; 32:   .set    noreorder
38 ; 32:   .set    nomacro
39 ; 32:   .set    noat
40 ; 32:   jr      $ra
41 ; 32:   nop
42 ; 32:   .set    at
43 ; 32:   .set    macro
44 ; 32:   .set    reorder
45 ; 32:   .end    nofoo
46 define i32 @main() #2 {
47 entry:
48   ret i32 0
49 }
50
51 ; 16:   .set    mips16                  # @main
52 ; 16:   .ent    main
53 ; 16:   save    {{.+}}
54 ; 16:   restore {{.+}} 
55 ; 16:   .end    main
56 ; 32:   .set    mips16                  # @main
57 ; 32:   .ent    main
58 ; 32:   save    {{.+}}
59 ; 32:   restore {{.+}} 
60 ; 32:   .end    main
61
62
63 attributes #0 = { nounwind "less-precise-fpmad"="false" "mips16" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }
64 attributes #1 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "nomips16" "unsafe-fp-math"="false" "use-soft-float"="false" }
65 attributes #2 = { nounwind "less-precise-fpmad"="false" "mips16" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" }