Merge remote branch 'origin/master'
[binutils/dougsmingw.git] / ld / testsuite / ld-mips-elf / mips16-pic-3.inc
blob96116114ef98f3053dfc8cc041ac498751327563
1         .macro  test_call,name
2         .set    mips16
3         .text
4         .ent    test_\name
5 test_\name:
6         jal     \name
7         .end    test_\name
8         .endm
10         .macro  call_stub,name
11         .set    nomips16
12         .section .mips16.call.\name, "ax", @progbits
13         .ent    __call_\name
14 __call_\name:
15         la      $25,\name
16         jr      $25
17         mtc1    $4,$f12
18         .end    __call_\name
20         test_call \name
21         .endm
23         .macro  call_fp_stub,name
24         .set    nomips16
25         .section .mips16.call.fp.\name, "ax", @progbits
26         .ent    __call_fp_\name
27 __call_fp_\name:
28         move    $18,$31
29         la      $25,\name
30         jalr    $25
31         mtc1    $4,$f12
32         mfc1    $2,$f0
33         jr      $18
34         nop
35         .end    __call_fp_\name
37         test_call \name
38         .endm
40         .macro  lstub,name,mode
41         .set    \mode
42         .text
43         .ent    \name
44 \name:
45         jr      $31
46         nop
47         .end    \name
48         .endm
50         .macro  hstub,name,mode
51         .globl  \name
52         .hidden \name
53         lstub   \name, \mode
54         .endm
56         .macro  gstub,name,mode
57         .globl  \name
58         lstub   \name, \mode
59         .endm