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 nomips16 # @main 52 ; 16: .ent main 53 ; 16: .set noreorder 54 ; 16: .set nomacro 55 ; 16: .set noat 56 ; 16: jr $ra 57 ; 16: addiu $2, $zero, 0 58 ; 16: .set at 59 ; 16: .set macro 60 ; 16: .set reorder 61 ; 16: .end main 62 63 ; 32: .set nomips16 # @main 64 ; 32: .ent main 65 ; 32: .set noreorder 66 ; 32: .set nomacro 67 ; 32: .set noat 68 ; 32: jr $ra 69 ; 32: addiu $2, $zero, 0 70 ; 32: .set at 71 ; 32: .set macro 72 ; 32: .set reorder 73 ; 32: .end main 74 75 76 77 78 attributes #0 = { nounwind "less-precise-fpmad"="false" "mips16" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } 79 attributes #1 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "nomips16" "unsafe-fp-math"="false" "use-soft-float"="false" } 80 attributes #2 = { nounwind "less-precise-fpmad"="false" "nomips16" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } 81