Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / mips / mips-abi32-pic2.s
1
2         .text
3         .ent    func1
4 func1:
5         .frame $sp,0,$31
6         .set noreorder
7         .cpload $25             # 0000 lui      gp,hi(_gp_disp)
8                                 # 0004 addiu    gp,gp,lo(_gp_disp)
9                                 # 0008 addu     gp,gp,t9
10         .set reorder
11         .cprestore 8            # 000c sw       gp,8(sp)
12
13         jal     end             # 0010 lw       t9,got(.text)(gp)
14                                 # 0014 nop
15                                 # 0018 addiu    t9,t9,lo(end)
16                                 # 001c jalr     t9
17                                 # 0020 nop
18                                 # 0024 lw       gp,8(sp)
19
20         # Avoid confusion: avoid the 'lw' above being put into the delay
21         # slot for the jalr below!
22         .set noreorder
23         nop                     # 0028 nop
24         .set reorder
25
26         jal     $25             # 002c jalr     t9
27                                 # 0030 nop
28                                 # 0034 lw       gp,8(sp)
29         .end    func1
30
31
32         .text
33         .ent    func2
34 func2:
35         .frame $sp,0,$31
36         .set noreorder
37         .cpload $25             # 0038 lui      gp,hi(_gp_disp)
38                                 # 003c addiu    gp,gp,lo(_gp_disp)
39                                 # 0040 addu     gp,gp,t9
40         .set reorder
41         .cprestore 32768        # 0044 lui      at,0x1
42                                 # 0048 addu     at,at,sp
43                                 # 004c sw       gp,-32768(at)
44
45         jal     end             # 0050 lw       t9,got(.text)(gp)
46                                 # 0054 nop
47                                 # 0058 addiu    t9,t9,lo(end)
48                                 # 005c jalr     t9
49                                 # 0060 nop
50                                 # 0064 lui      at,0x1
51                                 # 0068 addu     at,at,sp
52                                 # 006c lw       gp,-32768(at)
53
54         # Avoid confusion: avoid the 'lw' above being put into the delay
55         # slot for the jalr below!
56         .set noreorder
57         nop                     # 0070 nop
58         .set reorder
59
60         jal     $25             # 0074 jalr     t9
61                                 # 0078 nop
62                                 # 007c lui      at,0x1
63                                 # 0080 addu     at,at,sp
64                                 # 0084 lw       gp,-32768(at)
65         .end    func2
66
67
68         .text
69         .ent    func3
70 func3:
71         .frame $sp,0,$31
72         .set noreorder
73         .cpload $25             # 0088 lui      gp,hi(_gp_disp)
74                                 # 008c addiu    gp,gp,lo(_gp_disp)
75                                 # 0090 addu     gp,gp,t9
76         .set reorder
77         .cprestore 65536        # 0094 lui      at,0x1
78                                 # 0098 addu     at,at,sp
79                                 # 009c sw       gp,0(at)
80
81         jal     end             # 00a0 lw       t9,got(.text)(gp)
82                                 # 00a4 nop
83                                 # 00a8 addiu    t9,t9,lo(end)
84                                 # 00ac jalr     t9
85                                 # 00b0 nop
86                                 # 00b4 lui      at,0x1
87                                 # 00b8 addu     at,at,sp
88                                 # 00bc lw       gp,0(at)
89
90         # Avoid confusion: avoid the 'lw' above being put into the delay
91         # slot for the jalr below!
92         .set noreorder
93         nop                     # 00c0 nop
94         .set reorder
95
96         jal     $25             # 00c4 jalr     t9
97                                 # 00c8 nop
98                                 # 00cc lui      at,0x1
99                                 # 00d0 addu     at,at,sp
100                                 # 00d4 lw       gp,0(at)
101
102         .end    func3
103
104 end:
105
106 # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
107         .space  8