[mips][mips16] MIPS16 is not a CPU/Architecture but is an ASE.
[oota-llvm.git] / test / CodeGen / Mips / mips16_32_7.ll
1 ; RUN: llc  -march=mipsel -mattr=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
10 ; 16:   .ent    foo
11 ; 16:   jrc $ra
12 ; 16:   .end    foo
13 ; 32:   .set    nomips16
14 ; 32:   .ent    foo
15 ; 32:   .set    noreorder
16 ; 32:   .set    nomacro
17 ; 32:   .set    noat
18 ; 32:   jr      $ra
19 ; 32:   nop
20 ; 32:   .set    at
21 ; 32:   .set    macro
22 ; 32:   .set    reorder
23 ; 32:   .end    foo
24 define void @nofoo() #1 {
25 entry:
26   ret void
27 }
28
29 ; 16:   .set    nomips16
30 ; 16:   .ent    nofoo
31 ; 16:   .set    noreorder
32 ; 16:   .set    nomacro
33 ; 16:   .set    noat
34 ; 16:   jr      $ra
35 ; 16:   nop
36 ; 16:   .set    at
37 ; 16:   .set    macro
38 ; 16:   .set    reorder
39 ; 16:   .end    nofoo
40 ; 32:   .set    nomips16
41 ; 32:   .ent    nofoo
42 ; 32:   .set    noreorder
43 ; 32:   .set    nomacro
44 ; 32:   .set    noat
45 ; 32:   jr      $ra
46 ; 32:   nop
47 ; 32:   .set    at
48 ; 32:   .set    macro
49 ; 32:   .set    reorder
50 ; 32:   .end    nofoo
51 define i32 @main() #2 {
52 entry:
53   ret i32 0
54 }
55
56 ; 16:   .set    mips16
57 ; 16:   .ent    main
58 ; 16:   jrc $ra
59 ; 16:   .end    main
60
61 ; 32:   .set    mips16
62 ; 32:   .ent    main
63 ; 32:   jrc $ra
64 ; 32:   .end    main
65
66
67
68
69
70
71 attributes #0 = { 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" "unsafe-fp-math"="false" "use-soft-float"="false" }
72 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" }
73 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" }