bfd/
[deliverable/binutils-gdb.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
This page took 0.037077 seconds and 4 git commands to generate.