Daniel Sanders | 8008de5 | 2015-10-15 14:34:23 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 -relocation-model=static -mips32-function-mask=10 -mips-os16 < %s | FileCheck %s -check-prefix=fmask1 |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 2 | |
Daniel Sanders | 8008de5 | 2015-10-15 14:34:23 +0000 | [diff] [blame] | 3 | ; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 -relocation-model=static -mips32-function-mask=01 -mips-os16 < %s | FileCheck %s -check-prefix=fmask2 |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 4 | |
Daniel Sanders | 8008de5 | 2015-10-15 14:34:23 +0000 | [diff] [blame] | 5 | ; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mattr=mips16 -relocation-model=static -mips32-function-mask=10. -mips-os16 < %s | FileCheck %s -check-prefix=fmask1nr |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 6 | |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 7 | ; Function Attrs: nounwind optsize readnone |
| 8 | define void @foo1() { |
| 9 | entry: |
| 10 | ret void |
| 11 | ; fmask1: .ent foo1 |
| 12 | ; fmask1: .set noreorder |
| 13 | ; fmask1: .set nomacro |
| 14 | ; fmask1: .set noat |
| 15 | ; fmask1: .set at |
| 16 | ; fmask1: .set macro |
| 17 | ; fmask1: .set reorder |
| 18 | ; fmask1: .end foo1 |
| 19 | ; fmask2: .ent foo1 |
Reed Kotler | 5c29d63 | 2013-12-15 20:49:30 +0000 | [diff] [blame] | 20 | ; fmask2: jrc $ra |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 21 | ; fmask2: .end foo1 |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 22 | ; fmask1nr: .ent foo1 |
| 23 | ; fmask1nr: .set noreorder |
| 24 | ; fmask1nr: .set nomacro |
| 25 | ; fmask1nr: .set noat |
| 26 | ; fmask1nr: .set at |
| 27 | ; fmask1nr: .set macro |
| 28 | ; fmask1nr: .set reorder |
| 29 | ; fmask1nr: .end foo1 |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 30 | } |
| 31 | |
| 32 | ; Function Attrs: nounwind optsize readnone |
| 33 | define void @foo2() { |
| 34 | entry: |
| 35 | ret void |
| 36 | ; fmask2: .ent foo2 |
| 37 | ; fmask2: .set noreorder |
| 38 | ; fmask2: .set nomacro |
| 39 | ; fmask2: .set noat |
| 40 | ; fmask2: .set at |
| 41 | ; fmask2: .set macro |
| 42 | ; fmask2: .set reorder |
| 43 | ; fmask2: .end foo2 |
| 44 | ; fmask1: .ent foo2 |
Reed Kotler | 5c29d63 | 2013-12-15 20:49:30 +0000 | [diff] [blame] | 45 | ; fmask1: jrc $ra |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 46 | ; fmask1: .end foo2 |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 47 | ; fmask1nr: .ent foo2 |
Reed Kotler | 5c29d63 | 2013-12-15 20:49:30 +0000 | [diff] [blame] | 48 | ; fmask1nr: jrc $ra |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 49 | ; fmask1nr: .end foo2 |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 50 | } |
| 51 | |
| 52 | ; Function Attrs: nounwind optsize readnone |
| 53 | define void @foo3() { |
| 54 | entry: |
| 55 | ret void |
| 56 | ; fmask1: .ent foo3 |
| 57 | ; fmask1: .set noreorder |
| 58 | ; fmask1: .set nomacro |
| 59 | ; fmask1: .set noat |
| 60 | ; fmask1: .set at |
| 61 | ; fmask1: .set macro |
| 62 | ; fmask1: .set reorder |
| 63 | ; fmask1: .end foo3 |
| 64 | ; fmask2: .ent foo3 |
Reed Kotler | 5c29d63 | 2013-12-15 20:49:30 +0000 | [diff] [blame] | 65 | ; fmask2: jrc $ra |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 66 | ; fmask2: .end foo3 |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 67 | ; fmask1r: .ent foo3 |
Reed Kotler | 5c29d63 | 2013-12-15 20:49:30 +0000 | [diff] [blame] | 68 | ; fmask1r: jrc $ra |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 69 | ; fmask1r: .end foo3 |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 70 | } |
| 71 | |
| 72 | ; Function Attrs: nounwind optsize readnone |
| 73 | define void @foo4() { |
| 74 | entry: |
| 75 | ret void |
| 76 | ; fmask2: .ent foo4 |
| 77 | ; fmask2: .set noreorder |
| 78 | ; fmask2: .set nomacro |
| 79 | ; fmask2: .set noat |
| 80 | ; fmask2: .set at |
| 81 | ; fmask2: .set macro |
| 82 | ; fmask2: .set reorder |
| 83 | ; fmask2: .end foo4 |
| 84 | ; fmask1: .ent foo4 |
Reed Kotler | 5c29d63 | 2013-12-15 20:49:30 +0000 | [diff] [blame] | 85 | ; fmask1: jrc $ra |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 86 | ; fmask1: .end foo4 |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 87 | ; fmask1nr: .ent foo4 |
Reed Kotler | 5c29d63 | 2013-12-15 20:49:30 +0000 | [diff] [blame] | 88 | ; fmask1nr: jrc $ra |
Reed Kotler | e883f50 | 2013-09-23 22:36:11 +0000 | [diff] [blame] | 89 | ; fmask1nr: .end foo4 |
Reed Kotler | 6555315 | 2013-09-15 02:09:08 +0000 | [diff] [blame] | 90 | } |
| 91 | |
| 92 | |