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
4define void @foo() #0 {
5entry:
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
19define void @nofoo() #1 {
20entry:
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
46define i32 @main() #2 {
47entry:
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
63attributes #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" }
64attributes #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" }
65attributes #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" }
66