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 10 ; 16: .ent foo 11 ; 16: jrc $ra 12 ; 16: .end foo 13 ; 32: .set mips16 14 ; 32: .ent foo 15 ; 32: jrc $ra 16 ; 32: .end foo 17 define void @nofoo() #1 { 18 entry: 19 ret void 20 } 21 22 ; 16: .set nomips16 23 ; 16: .ent nofoo 24 ; 16: .set noreorder 25 ; 16: .set nomacro 26 ; 16: .set noat 27 ; 16: jr $ra 28 ; 16: nop 29 ; 16: .set at 30 ; 16: .set macro 31 ; 16: .set reorder 32 ; 16: .end nofoo 33 ; 32: .set nomips16 34 ; 32: .ent nofoo 35 ; 32: .set noreorder 36 ; 32: .set nomacro 37 ; 32: .set noat 38 ; 32: jr $ra 39 ; 32: nop 40 ; 32: .set at 41 ; 32: .set macro 42 ; 32: .set reorder 43 ; 32: .end nofoo 44 define i32 @main() #2 { 45 entry: 46 ret i32 0 47 } 48 49 ; 16: .set mips16 50 ; 16: .ent main 51 ; 16: jrc $ra 52 ; 16: .end main 53 ; 32: .set mips16 54 ; 32: .ent main 55 ; 32: jrc $ra 56 ; 32: .end main 57 58 59 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" } 60 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" } 61 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" } 62