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 4define void @foo() #0 { 5entry: 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 17define void @nofoo() #1 { 18entry: 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 44define i32 @main() #2 { 45entry: 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 59attributes #0 = { nounwind "less-precise-fpmad"="false" "mips16" "frame-pointer"="non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } 60attributes #1 = { nounwind "less-precise-fpmad"="false" "frame-pointer"="non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "nomips16" "unsafe-fp-math"="false" "use-soft-float"="false" } 61attributes #2 = { nounwind "less-precise-fpmad"="false" "mips16" "frame-pointer"="non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } 62