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 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 nomips16 57 ; 16: .ent main 58 ; 16: .set noreorder 59 ; 16: .set nomacro 60 ; 16: .set noat 61 ; 16: jr $ra 62 ; 16: addiu $2, $zero, 0 63 ; 16: .set at 64 ; 16: .set macro 65 ; 16: .set reorder 66 ; 16: .end main 67 68 ; 32: .set nomips16 69 ; 32: .ent main 70 ; 32: .set noreorder 71 ; 32: .set nomacro 72 ; 32: .set noat 73 ; 32: jr $ra 74 ; 32: addiu $2, $zero, 0 75 ; 32: .set at 76 ; 32: .set macro 77 ; 32: .set reorder 78 ; 32: .end main 79 80 81 82 83 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" } 84 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" } 85 attributes #2 = { nounwind "less-precise-fpmad"="false" "nomips16" "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" } 86