* config/tc-mips.c (macro_build_ldst_constoffset): Fix sign extension

tests.
	(load_register): Likewise.
	(macro): Likewise.

	* gas/mips/ldstla-32-shared.d: New file.
	* gas/mips/ldstla-32.d: New file.
	* gas/mips/ldstla-32.s: New file.
	* gas/mips/ldstla-n32-shared.d: New file.
	* gas/mips/ldstla-n32.d: New file.
	* gas/mips/ldstla-n32.s: New file.
	* gas/mips/ldstla-n64-shared.d: New file.
	* gas/mips/ldstla-n64.d: New file.
	* gas/mips/ldstla-n64.s: New file.
	* gas/mips/mips.exp: Add ld-st-la tests.
This commit is contained in:
Thiemo Seufer 2003-10-01 02:07:48 +00:00
parent 118fecd307
commit ecd13cd3ed
13 changed files with 972 additions and 10 deletions

View file

@ -1,3 +1,10 @@
2003-10-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* config/tc-mips.c (macro_build_ldst_constoffset): Fix sign extension
tests.
(load_register): Likewise.
(macro): Likewise.
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* config/tc-mips.c (mips_ip): Capitalize first word of

View file

@ -3269,8 +3269,8 @@ macro_build_ldst_constoffset (char *place, int *counter, expressionS *ep,
/* Sign-extending 32-bit constants makes their handling easier. */
if (! dbl)
{
if (ep->X_add_number & ~((bfd_vma) 0xffffffff)
&& ~(ep->X_add_number | 0xffffffff))
if (ep->X_add_number & ~((bfd_vma) 0x7fffffff)
&& ~(ep->X_add_number | 0x7fffffff))
as_bad (_("too large constant specified"));
ep->X_add_number = (((ep->X_add_number & 0xffffffff) ^ 0x80000000)
@ -3278,7 +3278,7 @@ macro_build_ldst_constoffset (char *place, int *counter, expressionS *ep,
}
/* Right now, this routine can only handle signed 32-bit contants. */
if (! IS_SEXT_32BIT_NUM(ep->X_add_number))
if (! IS_SEXT_32BIT_NUM(ep->X_add_number + 0x8000))
as_warn (_("operand overflow"));
if (IS_SEXT_16BIT_NUM(ep->X_add_number))
@ -3433,8 +3433,8 @@ load_register (int *counter, int reg, expressionS *ep, int dbl)
/* Sign-extending 32-bit constants makes their handling easier. */
if (! dbl)
{
if (ep->X_add_number & ~((bfd_vma) 0xffffffff)
&& ~(ep->X_add_number | 0xffffffff))
if (ep->X_add_number & ~((bfd_vma) 0x7fffffff)
&& ~(ep->X_add_number | 0x7fffffff))
as_bad (_("too large constant specified"));
ep->X_add_number = (((ep->X_add_number & 0xffffffff) ^ 0x80000000)
@ -5113,7 +5113,7 @@ macro (struct mips_cl_insn *ip)
RELAX_ENCODE (8, 4, 0, 0, 0, 0),
offset_expr.X_add_symbol, 0, NULL);
}
else if (IS_SEXT_32BIT_NUM (expr1.X_add_number))
else if (IS_SEXT_32BIT_NUM (expr1.X_add_number + 0x8000))
{
int dreg;
@ -5461,7 +5461,7 @@ macro (struct mips_cl_insn *ip)
mips_opts.warn_about_macros),
offset_expr.X_add_symbol, 0, NULL);
}
else if (IS_SEXT_32BIT_NUM (expr1.X_add_number))
else if (IS_SEXT_32BIT_NUM (expr1.X_add_number + 0x8000))
{
int dreg;
@ -5943,8 +5943,8 @@ macro (struct mips_cl_insn *ip)
&& (! HAVE_64BIT_GPRS && offset_expr.X_op == O_constant))
&& (offset_expr.X_op == O_constant))
{
if (offset_expr.X_add_number & ~((bfd_vma) 0xffffffff)
&& ~(offset_expr.X_add_number | 0xffffffff))
if (offset_expr.X_add_number & ~((bfd_vma) 0x7fffffff)
&& ~(offset_expr.X_add_number | 0x7fffffff))
as_bad (_("too large constant specified"));
offset_expr.X_add_number = (((offset_expr.X_add_number & 0xffffffff)
@ -6137,7 +6137,7 @@ macro (struct mips_cl_insn *ip)
}
if (offset_expr.X_op == O_constant
&& ! IS_SEXT_32BIT_NUM (offset_expr.X_add_number))
&& ! IS_SEXT_32BIT_NUM (offset_expr.X_add_number + 0x8000))
as_bad (_("load/store address overflow (max 32 bits)"));
if (breg == 0)

View file

@ -1,3 +1,16 @@
2003-10-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* gas/mips/ldstla-32-shared.d: New file.
* gas/mips/ldstla-32.d: New file.
* gas/mips/ldstla-32.s: New file.
* gas/mips/ldstla-n32-shared.d: New file.
* gas/mips/ldstla-n32.d: New file.
* gas/mips/ldstla-n32.s: New file.
* gas/mips/ldstla-n64-shared.d: New file.
* gas/mips/ldstla-n64.d: New file.
* gas/mips/ldstla-n64.s: New file.
* gas/mips/mips.exp: Add ld-st-la tests.
2003-09-30 Chris Demetriou <cgd@broadcom.com>
* lib/gas-defs.exp (run_dump_test): If stderr file is specified

View file

@ -0,0 +1,80 @@
#objdump: -d
#as: -KPIC -32
#name: MIPS ld-st-la constants (ABI o32, shared)
#source: ldstla-32.s
.*: +file format elf32-.*mips
Disassembly of section \.text:
00000000 <\.text>:
0: 3c0189ac lui at,0x89ac
4: 00610821 addu at,v1,at
8: 8c22cdef lw v0,-12817\(at\)
c: 8c23cdf3 lw v1,-12813\(at\)
10: 3c012345 lui at,0x2345
14: 00610821 addu at,v1,at
18: 8c226789 lw v0,26505\(at\)
1c: 8c23678d lw v1,26509\(at\)
20: 3c018000 lui at,0x8000
24: 00610821 addu at,v1,at
28: 8c220000 lw v0,0\(at\)
2c: 8c230004 lw v1,4\(at\)
30: 3c010000 lui at,0x0
34: 00610821 addu at,v1,at
38: 8c220000 lw v0,0\(at\)
3c: 8c230004 lw v1,4\(at\)
40: 3c018000 lui at,0x8000
44: 00610821 addu at,v1,at
48: 8c22ffff lw v0,-1\(at\)
4c: 8c230003 lw v1,3\(at\)
50: 3c01abce lui at,0xabce
54: 00610821 addu at,v1,at
58: 8c22ef01 lw v0,-4351\(at\)
5c: 8c23ef05 lw v1,-4347\(at\)
60: 3c010123 lui at,0x123
64: 00610821 addu at,v1,at
68: 8c224567 lw v0,17767\(at\)
6c: 8c23456b lw v1,17771\(at\)
70: 3c0189ac lui at,0x89ac
74: 00610821 addu at,v1,at
78: ac22cdef sw v0,-12817\(at\)
7c: ac23cdf3 sw v1,-12813\(at\)
80: 3c012345 lui at,0x2345
84: 00610821 addu at,v1,at
88: ac226789 sw v0,26505\(at\)
8c: ac23678d sw v1,26509\(at\)
90: 3c018000 lui at,0x8000
94: 00610821 addu at,v1,at
98: ac220000 sw v0,0\(at\)
9c: ac230004 sw v1,4\(at\)
a0: 3c010000 lui at,0x0
a4: 00610821 addu at,v1,at
a8: ac220000 sw v0,0\(at\)
ac: ac230004 sw v1,4\(at\)
b0: 3c018000 lui at,0x8000
b4: 00610821 addu at,v1,at
b8: ac22ffff sw v0,-1\(at\)
bc: ac230003 sw v1,3\(at\)
c0: 3c01abce lui at,0xabce
c4: 00610821 addu at,v1,at
c8: ac22ef01 sw v0,-4351\(at\)
cc: ac23ef05 sw v1,-4347\(at\)
d0: 3c010123 lui at,0x123
d4: 00610821 addu at,v1,at
d8: ac224567 sw v0,17767\(at\)
dc: ac23456b sw v1,17771\(at\)
e0: 3c028000 lui v0,0x8000
e4: 00431021 addu v0,v0,v1
e8: 8c420000 lw v0,0\(v0\)
ec: 3c020123 lui v0,0x123
f0: 00431021 addu v0,v0,v1
f4: 8c424567 lw v0,17767\(v0\)
f8: 3c010123 lui at,0x123
fc: 00230821 addu at,at,v1
100: ac224567 sw v0,17767\(at\)
104: 3c027fff lui v0,0x7fff
108: 3442ffff ori v0,v0,0xffff
10c: 3c020123 lui v0,0x123
110: 34424567 ori v0,v0,0x4567
\.\.\.

View file

@ -0,0 +1,80 @@
#objdump: -d
#as: -32
#name: MIPS ld-st-la constants (ABI o32)
#source: ldstla-32.s
.*: +file format elf32-.*mips
Disassembly of section \.text:
00000000 <\.text>:
0: 3c0189ac lui at,0x89ac
4: 00610821 addu at,v1,at
8: 8c22cdef lw v0,-12817\(at\)
c: 8c23cdf3 lw v1,-12813\(at\)
10: 3c012345 lui at,0x2345
14: 00610821 addu at,v1,at
18: 8c226789 lw v0,26505\(at\)
1c: 8c23678d lw v1,26509\(at\)
20: 3c018000 lui at,0x8000
24: 00610821 addu at,v1,at
28: 8c220000 lw v0,0\(at\)
2c: 8c230004 lw v1,4\(at\)
30: 3c010000 lui at,0x0
34: 00610821 addu at,v1,at
38: 8c220000 lw v0,0\(at\)
3c: 8c230004 lw v1,4\(at\)
40: 3c018000 lui at,0x8000
44: 00610821 addu at,v1,at
48: 8c22ffff lw v0,-1\(at\)
4c: 8c230003 lw v1,3\(at\)
50: 3c01abce lui at,0xabce
54: 00610821 addu at,v1,at
58: 8c22ef01 lw v0,-4351\(at\)
5c: 8c23ef05 lw v1,-4347\(at\)
60: 3c010123 lui at,0x123
64: 00610821 addu at,v1,at
68: 8c224567 lw v0,17767\(at\)
6c: 8c23456b lw v1,17771\(at\)
70: 3c0189ac lui at,0x89ac
74: 00610821 addu at,v1,at
78: ac22cdef sw v0,-12817\(at\)
7c: ac23cdf3 sw v1,-12813\(at\)
80: 3c012345 lui at,0x2345
84: 00610821 addu at,v1,at
88: ac226789 sw v0,26505\(at\)
8c: ac23678d sw v1,26509\(at\)
90: 3c018000 lui at,0x8000
94: 00610821 addu at,v1,at
98: ac220000 sw v0,0\(at\)
9c: ac230004 sw v1,4\(at\)
a0: 3c010000 lui at,0x0
a4: 00610821 addu at,v1,at
a8: ac220000 sw v0,0\(at\)
ac: ac230004 sw v1,4\(at\)
b0: 3c018000 lui at,0x8000
b4: 00610821 addu at,v1,at
b8: ac22ffff sw v0,-1\(at\)
bc: ac230003 sw v1,3\(at\)
c0: 3c01abce lui at,0xabce
c4: 00610821 addu at,v1,at
c8: ac22ef01 sw v0,-4351\(at\)
cc: ac23ef05 sw v1,-4347\(at\)
d0: 3c010123 lui at,0x123
d4: 00610821 addu at,v1,at
d8: ac224567 sw v0,17767\(at\)
dc: ac23456b sw v1,17771\(at\)
e0: 3c028000 lui v0,0x8000
e4: 00431021 addu v0,v0,v1
e8: 8c420000 lw v0,0\(v0\)
ec: 3c020123 lui v0,0x123
f0: 00431021 addu v0,v0,v1
f4: 8c424567 lw v0,17767\(v0\)
f8: 3c010123 lui at,0x123
fc: 00230821 addu at,at,v1
100: ac224567 sw v0,17767\(at\)
104: 3c027fff lui v0,0x7fff
108: 3442ffff ori v0,v0,0xffff
10c: 3c020123 lui v0,0x123
110: 34424567 ori v0,v0,0x4567
\.\.\.

View file

@ -0,0 +1,26 @@
.text
ld $2, 0x0123456789abcdef($3)
ld $2, 0xabcdef0123456789($3)
ld $2, 0xffffffff80000000($3)
ld $2, 0xffffffff00000000($3)
ld $2, 0xffffffff7fffffff($3)
ld $2, 0xabcdef01($3)
ld $2, 0x01234567($3)
sd $2, 0x0123456789abcdef($3)
sd $2, 0xabcdef0123456789($3)
sd $2, 0xffffffff80000000($3)
sd $2, 0xffffffff00000000($3)
sd $2, 0xffffffff7fffffff($3)
sd $2, 0xabcdef01($3)
sd $2, 0x01234567($3)
lw $2, 0xffffffff80000000($3)
lw $2, 0x01234567($3)
sw $2, 0x01234567($3)
la $2, 0x7fffffff
la $2, 0x01234567
.space 8

View file

@ -0,0 +1,154 @@
#objdump: -d
#as: -KPIC -n32
#name: MIPS ld-st-la constants (ABI n32, shared)
#source: ldstla-n32.s
.*: +file format elf32-n.*mips
Disassembly of section \.text:
00000000 <\.text>:
0: 3c020123 lui v0,0x123
4: 3c0189ac lui at,0x89ac
8: 64424568 daddiu v0,v0,17768
c: 0023082d daddu at,at,v1
10: 0002103c dsll32 v0,v0,0x0
14: 0041102d daddu v0,v0,at
18: dc42cdef ld v0,-12817\(v0\)
1c: 3c02abce lui v0,0xabce
20: 3c012345 lui at,0x2345
24: 6442ef01 daddiu v0,v0,-4351
28: 0023082d daddu at,at,v1
2c: 0002103c dsll32 v0,v0,0x0
30: 0041102d daddu v0,v0,at
34: dc426789 ld v0,26505\(v0\)
38: 3c028000 lui v0,0x8000
3c: 00431021 addu v0,v0,v1
40: dc420000 ld v0,0\(v0\)
44: 3c020000 lui v0,0x0
48: 3c010000 lui at,0x0
4c: 6442ffff daddiu v0,v0,-1
50: 0023082d daddu at,at,v1
54: 0002103c dsll32 v0,v0,0x0
58: 0041102d daddu v0,v0,at
5c: dc420000 ld v0,0\(v0\)
60: 3c020000 lui v0,0x0
64: 3c01abce lui at,0xabce
68: 64420001 daddiu v0,v0,1
6c: 0023082d daddu at,at,v1
70: 0002103c dsll32 v0,v0,0x0
74: 0041102d daddu v0,v0,at
78: dc42ef01 ld v0,-4351\(v0\)
7c: 3c020123 lui v0,0x123
80: 00431021 addu v0,v0,v1
84: dc424567 ld v0,17767\(v0\)
88: 3c010123 lui at,0x123
8c: 64214568 daddiu at,at,17768
90: 00010c38 dsll at,at,0x10
94: 642189ac daddiu at,at,-30292
98: 00010c38 dsll at,at,0x10
9c: 0023082d daddu at,at,v1
a0: fc22cdef sd v0,-12817\(at\)
a4: 3c01abce lui at,0xabce
a8: 6421ef01 daddiu at,at,-4351
ac: 00010c38 dsll at,at,0x10
b0: 64212345 daddiu at,at,9029
b4: 00010c38 dsll at,at,0x10
b8: 0023082d daddu at,at,v1
bc: fc226789 sd v0,26505\(at\)
c0: 3c018000 lui at,0x8000
c4: 00230821 addu at,at,v1
c8: fc220000 sd v0,0\(at\)
cc: 3c010000 lui at,0x0
d0: 6421ffff daddiu at,at,-1
d4: 00010c38 dsll at,at,0x10
d8: 64210000 daddiu at,at,0
dc: 00010c38 dsll at,at,0x10
e0: 0023082d daddu at,at,v1
e4: fc220000 sd v0,0\(at\)
e8: 3c010000 lui at,0x0
ec: 64210001 daddiu at,at,1
f0: 00010c38 dsll at,at,0x10
f4: 6421abce daddiu at,at,-21554
f8: 00010c38 dsll at,at,0x10
fc: 0023082d daddu at,at,v1
100: fc22ef01 sd v0,-4351\(at\)
104: 3c010123 lui at,0x123
108: 00230821 addu at,at,v1
10c: fc224567 sd v0,17767\(at\)
110: 3c020123 lui v0,0x123
114: 3c0189ac lui at,0x89ac
118: 64424568 daddiu v0,v0,17768
11c: 0023082d daddu at,at,v1
120: 0002103c dsll32 v0,v0,0x0
124: 0041102d daddu v0,v0,at
128: 8c42cdef lw v0,-12817\(v0\)
12c: 3c02abce lui v0,0xabce
130: 3c012345 lui at,0x2345
134: 6442ef01 daddiu v0,v0,-4351
138: 0023082d daddu at,at,v1
13c: 0002103c dsll32 v0,v0,0x0
140: 0041102d daddu v0,v0,at
144: 8c426789 lw v0,26505\(v0\)
148: 3c028000 lui v0,0x8000
14c: 00431021 addu v0,v0,v1
150: 8c420000 lw v0,0\(v0\)
154: 3c020000 lui v0,0x0
158: 3c010000 lui at,0x0
15c: 6442ffff daddiu v0,v0,-1
160: 0023082d daddu at,at,v1
164: 0002103c dsll32 v0,v0,0x0
168: 0041102d daddu v0,v0,at
16c: 8c420000 lw v0,0\(v0\)
170: 3c020000 lui v0,0x0
174: 3c01abce lui at,0xabce
178: 64420001 daddiu v0,v0,1
17c: 0023082d daddu at,at,v1
180: 0002103c dsll32 v0,v0,0x0
184: 0041102d daddu v0,v0,at
188: 8c42ef01 lw v0,-4351\(v0\)
18c: 3c020123 lui v0,0x123
190: 00431021 addu v0,v0,v1
194: 8c424567 lw v0,17767\(v0\)
198: 3c010123 lui at,0x123
19c: 64214568 daddiu at,at,17768
1a0: 00010c38 dsll at,at,0x10
1a4: 642189ac daddiu at,at,-30292
1a8: 00010c38 dsll at,at,0x10
1ac: 0023082d daddu at,at,v1
1b0: ac22cdef sw v0,-12817\(at\)
1b4: 3c01abce lui at,0xabce
1b8: 6421ef01 daddiu at,at,-4351
1bc: 00010c38 dsll at,at,0x10
1c0: 64212345 daddiu at,at,9029
1c4: 00010c38 dsll at,at,0x10
1c8: 0023082d daddu at,at,v1
1cc: ac226789 sw v0,26505\(at\)
1d0: 3c018000 lui at,0x8000
1d4: 00230821 addu at,at,v1
1d8: ac220000 sw v0,0\(at\)
1dc: 3c010000 lui at,0x0
1e0: 6421ffff daddiu at,at,-1
1e4: 00010c38 dsll at,at,0x10
1e8: 64210000 daddiu at,at,0
1ec: 00010c38 dsll at,at,0x10
1f0: 0023082d daddu at,at,v1
1f4: ac220000 sw v0,0\(at\)
1f8: 3c010000 lui at,0x0
1fc: 64210001 daddiu at,at,1
200: 00010c38 dsll at,at,0x10
204: 6421abce daddiu at,at,-21554
208: 00010c38 dsll at,at,0x10
20c: 0023082d daddu at,at,v1
210: ac22ef01 sw v0,-4351\(at\)
214: 3c010123 lui at,0x123
218: 00230821 addu at,at,v1
21c: ac224567 sw v0,17767\(at\)
220: 3c028000 lui v0,0x8000
224: 3c020123 lui v0,0x123
228: 34424567 ori v0,v0,0x4567
22c: 3c027fff lui v0,0x7fff
230: 3442ffff ori v0,v0,0xffff
234: 3c020123 lui v0,0x123
238: 34424567 ori v0,v0,0x4567
\.\.\.

View file

@ -0,0 +1,154 @@
#objdump: -d
#as: -n32
#name: MIPS ld-st-la constants (ABI n32)
#source: ldstla-n32.s
.*: +file format elf32-n.*mips
Disassembly of section \.text:
00000000 <\.text>:
0: 3c020123 lui v0,0x123
4: 3c0189ac lui at,0x89ac
8: 64424568 daddiu v0,v0,17768
c: 0023082d daddu at,at,v1
10: 0002103c dsll32 v0,v0,0x0
14: 0041102d daddu v0,v0,at
18: dc42cdef ld v0,-12817\(v0\)
1c: 3c02abce lui v0,0xabce
20: 3c012345 lui at,0x2345
24: 6442ef01 daddiu v0,v0,-4351
28: 0023082d daddu at,at,v1
2c: 0002103c dsll32 v0,v0,0x0
30: 0041102d daddu v0,v0,at
34: dc426789 ld v0,26505\(v0\)
38: 3c028000 lui v0,0x8000
3c: 00431021 addu v0,v0,v1
40: dc420000 ld v0,0\(v0\)
44: 3c020000 lui v0,0x0
48: 3c010000 lui at,0x0
4c: 6442ffff daddiu v0,v0,-1
50: 0023082d daddu at,at,v1
54: 0002103c dsll32 v0,v0,0x0
58: 0041102d daddu v0,v0,at
5c: dc420000 ld v0,0\(v0\)
60: 3c020000 lui v0,0x0
64: 3c01abce lui at,0xabce
68: 64420001 daddiu v0,v0,1
6c: 0023082d daddu at,at,v1
70: 0002103c dsll32 v0,v0,0x0
74: 0041102d daddu v0,v0,at
78: dc42ef01 ld v0,-4351\(v0\)
7c: 3c020123 lui v0,0x123
80: 00431021 addu v0,v0,v1
84: dc424567 ld v0,17767\(v0\)
88: 3c010123 lui at,0x123
8c: 64214568 daddiu at,at,17768
90: 00010c38 dsll at,at,0x10
94: 642189ac daddiu at,at,-30292
98: 00010c38 dsll at,at,0x10
9c: 0023082d daddu at,at,v1
a0: fc22cdef sd v0,-12817\(at\)
a4: 3c01abce lui at,0xabce
a8: 6421ef01 daddiu at,at,-4351
ac: 00010c38 dsll at,at,0x10
b0: 64212345 daddiu at,at,9029
b4: 00010c38 dsll at,at,0x10
b8: 0023082d daddu at,at,v1
bc: fc226789 sd v0,26505\(at\)
c0: 3c018000 lui at,0x8000
c4: 00230821 addu at,at,v1
c8: fc220000 sd v0,0\(at\)
cc: 3c010000 lui at,0x0
d0: 6421ffff daddiu at,at,-1
d4: 00010c38 dsll at,at,0x10
d8: 64210000 daddiu at,at,0
dc: 00010c38 dsll at,at,0x10
e0: 0023082d daddu at,at,v1
e4: fc220000 sd v0,0\(at\)
e8: 3c010000 lui at,0x0
ec: 64210001 daddiu at,at,1
f0: 00010c38 dsll at,at,0x10
f4: 6421abce daddiu at,at,-21554
f8: 00010c38 dsll at,at,0x10
fc: 0023082d daddu at,at,v1
100: fc22ef01 sd v0,-4351\(at\)
104: 3c010123 lui at,0x123
108: 00230821 addu at,at,v1
10c: fc224567 sd v0,17767\(at\)
110: 3c020123 lui v0,0x123
114: 3c0189ac lui at,0x89ac
118: 64424568 daddiu v0,v0,17768
11c: 0023082d daddu at,at,v1
120: 0002103c dsll32 v0,v0,0x0
124: 0041102d daddu v0,v0,at
128: 8c42cdef lw v0,-12817\(v0\)
12c: 3c02abce lui v0,0xabce
130: 3c012345 lui at,0x2345
134: 6442ef01 daddiu v0,v0,-4351
138: 0023082d daddu at,at,v1
13c: 0002103c dsll32 v0,v0,0x0
140: 0041102d daddu v0,v0,at
144: 8c426789 lw v0,26505\(v0\)
148: 3c028000 lui v0,0x8000
14c: 00431021 addu v0,v0,v1
150: 8c420000 lw v0,0\(v0\)
154: 3c020000 lui v0,0x0
158: 3c010000 lui at,0x0
15c: 6442ffff daddiu v0,v0,-1
160: 0023082d daddu at,at,v1
164: 0002103c dsll32 v0,v0,0x0
168: 0041102d daddu v0,v0,at
16c: 8c420000 lw v0,0\(v0\)
170: 3c020000 lui v0,0x0
174: 3c01abce lui at,0xabce
178: 64420001 daddiu v0,v0,1
17c: 0023082d daddu at,at,v1
180: 0002103c dsll32 v0,v0,0x0
184: 0041102d daddu v0,v0,at
188: 8c42ef01 lw v0,-4351\(v0\)
18c: 3c020123 lui v0,0x123
190: 00431021 addu v0,v0,v1
194: 8c424567 lw v0,17767\(v0\)
198: 3c010123 lui at,0x123
19c: 64214568 daddiu at,at,17768
1a0: 00010c38 dsll at,at,0x10
1a4: 642189ac daddiu at,at,-30292
1a8: 00010c38 dsll at,at,0x10
1ac: 0023082d daddu at,at,v1
1b0: ac22cdef sw v0,-12817\(at\)
1b4: 3c01abce lui at,0xabce
1b8: 6421ef01 daddiu at,at,-4351
1bc: 00010c38 dsll at,at,0x10
1c0: 64212345 daddiu at,at,9029
1c4: 00010c38 dsll at,at,0x10
1c8: 0023082d daddu at,at,v1
1cc: ac226789 sw v0,26505\(at\)
1d0: 3c018000 lui at,0x8000
1d4: 00230821 addu at,at,v1
1d8: ac220000 sw v0,0\(at\)
1dc: 3c010000 lui at,0x0
1e0: 6421ffff daddiu at,at,-1
1e4: 00010c38 dsll at,at,0x10
1e8: 64210000 daddiu at,at,0
1ec: 00010c38 dsll at,at,0x10
1f0: 0023082d daddu at,at,v1
1f4: ac220000 sw v0,0\(at\)
1f8: 3c010000 lui at,0x0
1fc: 64210001 daddiu at,at,1
200: 00010c38 dsll at,at,0x10
204: 6421abce daddiu at,at,-21554
208: 00010c38 dsll at,at,0x10
20c: 0023082d daddu at,at,v1
210: ac22ef01 sw v0,-4351\(at\)
214: 3c010123 lui at,0x123
218: 00230821 addu at,at,v1
21c: ac224567 sw v0,17767\(at\)
220: 3c028000 lui v0,0x8000
224: 3c020123 lui v0,0x123
228: 34424567 ori v0,v0,0x4567
22c: 3c027fff lui v0,0x7fff
230: 3442ffff ori v0,v0,0xffff
234: 3c020123 lui v0,0x123
238: 34424567 ori v0,v0,0x4567
\.\.\.

View file

@ -0,0 +1,35 @@
.text
ld $2, 0x0123456789abcdef($3)
ld $2, 0xabcdef0123456789($3)
ld $2, 0xffffffff80000000($3)
ld $2, 0xffffffff00000000($3)
ld $2, 0xabcdef01($3)
ld $2, 0x01234567($3)
sd $2, 0x0123456789abcdef($3)
sd $2, 0xabcdef0123456789($3)
sd $2, 0xffffffff80000000($3)
sd $2, 0xffffffff00000000($3)
sd $2, 0xabcdef01($3)
sd $2, 0x01234567($3)
lw $2, 0x0123456789abcdef($3)
lw $2, 0xabcdef0123456789($3)
lw $2, 0xffffffff80000000($3)
lw $2, 0xffffffff00000000($3)
lw $2, 0xabcdef01($3)
lw $2, 0x01234567($3)
sw $2, 0x0123456789abcdef($3)
sw $2, 0xabcdef0123456789($3)
sw $2, 0xffffffff80000000($3)
sw $2, 0xffffffff00000000($3)
sw $2, 0xabcdef01($3)
sw $2, 0x01234567($3)
dla $2, 0xffffffff80000000
dla $2, 0x01234567
la $2, 0x7fffffff
la $2, 0x01234567
.space 8

View file

@ -0,0 +1,181 @@
#objdump: -d
#as: -KPIC -n64
#name: MIPS ld-st-la constants (ABI n64, shared)
#source: ldstla-n64.s
.*: +file format elf64-.*mips
Disassembly of section \.text:
0000000000000000 <\.text>:
0: 3c020123 lui v0,0x123
4: 3c0189ac lui at,0x89ac
8: 64424568 daddiu v0,v0,17768
c: 0023082d daddu at,at,v1
10: 0002103c dsll32 v0,v0,0x0
14: 0041102d daddu v0,v0,at
18: dc42cdef ld v0,-12817\(v0\)
1c: 3c02abce lui v0,0xabce
20: 3c012345 lui at,0x2345
24: 6442ef01 daddiu v0,v0,-4351
28: 0023082d daddu at,at,v1
2c: 0002103c dsll32 v0,v0,0x0
30: 0041102d daddu v0,v0,at
34: dc426789 ld v0,26505\(v0\)
38: 3c028000 lui v0,0x8000
3c: 0043102d daddu v0,v0,v1
40: dc420000 ld v0,0\(v0\)
44: 3c020000 lui v0,0x0
48: 3c010000 lui at,0x0
4c: 6442ffff daddiu v0,v0,-1
50: 0023082d daddu at,at,v1
54: 0002103c dsll32 v0,v0,0x0
58: 0041102d daddu v0,v0,at
5c: dc420000 ld v0,0\(v0\)
60: 3c028000 lui v0,0x8000
64: 0043102d daddu v0,v0,v1
68: dc42ffff ld v0,-1\(v0\)
6c: 3c020000 lui v0,0x0
70: 3c01abce lui at,0xabce
74: 64420001 daddiu v0,v0,1
78: 0023082d daddu at,at,v1
7c: 0002103c dsll32 v0,v0,0x0
80: 0041102d daddu v0,v0,at
84: dc42ef01 ld v0,-4351\(v0\)
88: 3c020123 lui v0,0x123
8c: 0043102d daddu v0,v0,v1
90: dc424567 ld v0,17767\(v0\)
94: 3c010123 lui at,0x123
98: 64214568 daddiu at,at,17768
9c: 00010c38 dsll at,at,0x10
a0: 642189ac daddiu at,at,-30292
a4: 00010c38 dsll at,at,0x10
a8: 0023082d daddu at,at,v1
ac: fc22cdef sd v0,-12817\(at\)
b0: 3c01abce lui at,0xabce
b4: 6421ef01 daddiu at,at,-4351
b8: 00010c38 dsll at,at,0x10
bc: 64212345 daddiu at,at,9029
c0: 00010c38 dsll at,at,0x10
c4: 0023082d daddu at,at,v1
c8: fc226789 sd v0,26505\(at\)
cc: 3c018000 lui at,0x8000
d0: 0023082d daddu at,at,v1
d4: fc220000 sd v0,0\(at\)
d8: 3c010000 lui at,0x0
dc: 6421ffff daddiu at,at,-1
e0: 00010c38 dsll at,at,0x10
e4: 64210000 daddiu at,at,0
e8: 00010c38 dsll at,at,0x10
ec: 0023082d daddu at,at,v1
f0: fc220000 sd v0,0\(at\)
f4: 3c018000 lui at,0x8000
f8: 0023082d daddu at,at,v1
fc: fc22ffff sd v0,-1\(at\)
100: 3c010000 lui at,0x0
104: 64210001 daddiu at,at,1
108: 00010c38 dsll at,at,0x10
10c: 6421abce daddiu at,at,-21554
110: 00010c38 dsll at,at,0x10
114: 0023082d daddu at,at,v1
118: fc22ef01 sd v0,-4351\(at\)
11c: 3c010123 lui at,0x123
120: 0023082d daddu at,at,v1
124: fc224567 sd v0,17767\(at\)
128: 3c020123 lui v0,0x123
12c: 3c0189ac lui at,0x89ac
130: 64424568 daddiu v0,v0,17768
134: 0023082d daddu at,at,v1
138: 0002103c dsll32 v0,v0,0x0
13c: 0041102d daddu v0,v0,at
140: 8c42cdef lw v0,-12817\(v0\)
144: 3c02abce lui v0,0xabce
148: 3c012345 lui at,0x2345
14c: 6442ef01 daddiu v0,v0,-4351
150: 0023082d daddu at,at,v1
154: 0002103c dsll32 v0,v0,0x0
158: 0041102d daddu v0,v0,at
15c: 8c426789 lw v0,26505\(v0\)
160: 3c028000 lui v0,0x8000
164: 0043102d daddu v0,v0,v1
168: 8c420000 lw v0,0\(v0\)
16c: 3c020000 lui v0,0x0
170: 3c010000 lui at,0x0
174: 6442ffff daddiu v0,v0,-1
178: 0023082d daddu at,at,v1
17c: 0002103c dsll32 v0,v0,0x0
180: 0041102d daddu v0,v0,at
184: 8c420000 lw v0,0\(v0\)
188: 3c028000 lui v0,0x8000
18c: 0043102d daddu v0,v0,v1
190: 8c42ffff lw v0,-1\(v0\)
194: 3c020000 lui v0,0x0
198: 3c01abce lui at,0xabce
19c: 64420001 daddiu v0,v0,1
1a0: 0023082d daddu at,at,v1
1a4: 0002103c dsll32 v0,v0,0x0
1a8: 0041102d daddu v0,v0,at
1ac: 8c42ef01 lw v0,-4351\(v0\)
1b0: 3c020123 lui v0,0x123
1b4: 0043102d daddu v0,v0,v1
1b8: 8c424567 lw v0,17767\(v0\)
1bc: 3c010123 lui at,0x123
1c0: 64214568 daddiu at,at,17768
1c4: 00010c38 dsll at,at,0x10
1c8: 642189ac daddiu at,at,-30292
1cc: 00010c38 dsll at,at,0x10
1d0: 0023082d daddu at,at,v1
1d4: ac22cdef sw v0,-12817\(at\)
1d8: 3c01abce lui at,0xabce
1dc: 6421ef01 daddiu at,at,-4351
1e0: 00010c38 dsll at,at,0x10
1e4: 64212345 daddiu at,at,9029
1e8: 00010c38 dsll at,at,0x10
1ec: 0023082d daddu at,at,v1
1f0: ac226789 sw v0,26505\(at\)
1f4: 3c018000 lui at,0x8000
1f8: 0023082d daddu at,at,v1
1fc: ac220000 sw v0,0\(at\)
200: 3c010000 lui at,0x0
204: 6421ffff daddiu at,at,-1
208: 00010c38 dsll at,at,0x10
20c: 64210000 daddiu at,at,0
210: 00010c38 dsll at,at,0x10
214: 0023082d daddu at,at,v1
218: ac220000 sw v0,0\(at\)
21c: 3c018000 lui at,0x8000
220: 0023082d daddu at,at,v1
224: ac22ffff sw v0,-1\(at\)
228: 3c010000 lui at,0x0
22c: 64210001 daddiu at,at,1
230: 00010c38 dsll at,at,0x10
234: 6421abce daddiu at,at,-21554
238: 00010c38 dsll at,at,0x10
23c: 0023082d daddu at,at,v1
240: ac22ef01 sw v0,-4351\(at\)
244: 3c010123 lui at,0x123
248: 0023082d daddu at,at,v1
24c: ac224567 sw v0,17767\(at\)
250: 3c020123 lui v0,0x123
254: 34424567 ori v0,v0,0x4567
258: 00021438 dsll v0,v0,0x10
25c: 344289ab ori v0,v0,0x89ab
260: 00021438 dsll v0,v0,0x10
264: 3442cdef ori v0,v0,0xcdef
268: 3c02abcd lui v0,0xabcd
26c: 3442ef01 ori v0,v0,0xef01
270: 00021438 dsll v0,v0,0x10
274: 34422345 ori v0,v0,0x2345
278: 00021438 dsll v0,v0,0x10
27c: 34426789 ori v0,v0,0x6789
280: 3c028000 lui v0,0x8000
284: 2402ffff li v0,-1
288: 0002103c dsll32 v0,v0,0x0
28c: 3402abcd li v0,0xabcd
290: 00021438 dsll v0,v0,0x10
294: 3442ef01 ori v0,v0,0xef01
298: 3c027fff lui v0,0x7fff
29c: 3442ffff ori v0,v0,0xffff
2a0: 3c020123 lui v0,0x123
2a4: 34424567 ori v0,v0,0x4567
\.\.\.

View file

@ -0,0 +1,181 @@
#objdump: -d
#as: -n64
#name: MIPS ld-st-la constants (ABI n64)
#source: ldstla-n64.s
.*: +file format elf64-.*mips
Disassembly of section \.text:
0000000000000000 <\.text>:
0: 3c020123 lui v0,0x123
4: 3c0189ac lui at,0x89ac
8: 64424568 daddiu v0,v0,17768
c: 0023082d daddu at,at,v1
10: 0002103c dsll32 v0,v0,0x0
14: 0041102d daddu v0,v0,at
18: dc42cdef ld v0,-12817\(v0\)
1c: 3c02abce lui v0,0xabce
20: 3c012345 lui at,0x2345
24: 6442ef01 daddiu v0,v0,-4351
28: 0023082d daddu at,at,v1
2c: 0002103c dsll32 v0,v0,0x0
30: 0041102d daddu v0,v0,at
34: dc426789 ld v0,26505\(v0\)
38: 3c028000 lui v0,0x8000
3c: 0043102d daddu v0,v0,v1
40: dc420000 ld v0,0\(v0\)
44: 3c020000 lui v0,0x0
48: 3c010000 lui at,0x0
4c: 6442ffff daddiu v0,v0,-1
50: 0023082d daddu at,at,v1
54: 0002103c dsll32 v0,v0,0x0
58: 0041102d daddu v0,v0,at
5c: dc420000 ld v0,0\(v0\)
60: 3c028000 lui v0,0x8000
64: 0043102d daddu v0,v0,v1
68: dc42ffff ld v0,-1\(v0\)
6c: 3c020000 lui v0,0x0
70: 3c01abce lui at,0xabce
74: 64420001 daddiu v0,v0,1
78: 0023082d daddu at,at,v1
7c: 0002103c dsll32 v0,v0,0x0
80: 0041102d daddu v0,v0,at
84: dc42ef01 ld v0,-4351\(v0\)
88: 3c020123 lui v0,0x123
8c: 0043102d daddu v0,v0,v1
90: dc424567 ld v0,17767\(v0\)
94: 3c010123 lui at,0x123
98: 64214568 daddiu at,at,17768
9c: 00010c38 dsll at,at,0x10
a0: 642189ac daddiu at,at,-30292
a4: 00010c38 dsll at,at,0x10
a8: 0023082d daddu at,at,v1
ac: fc22cdef sd v0,-12817\(at\)
b0: 3c01abce lui at,0xabce
b4: 6421ef01 daddiu at,at,-4351
b8: 00010c38 dsll at,at,0x10
bc: 64212345 daddiu at,at,9029
c0: 00010c38 dsll at,at,0x10
c4: 0023082d daddu at,at,v1
c8: fc226789 sd v0,26505\(at\)
cc: 3c018000 lui at,0x8000
d0: 0023082d daddu at,at,v1
d4: fc220000 sd v0,0\(at\)
d8: 3c010000 lui at,0x0
dc: 6421ffff daddiu at,at,-1
e0: 00010c38 dsll at,at,0x10
e4: 64210000 daddiu at,at,0
e8: 00010c38 dsll at,at,0x10
ec: 0023082d daddu at,at,v1
f0: fc220000 sd v0,0\(at\)
f4: 3c018000 lui at,0x8000
f8: 0023082d daddu at,at,v1
fc: fc22ffff sd v0,-1\(at\)
100: 3c010000 lui at,0x0
104: 64210001 daddiu at,at,1
108: 00010c38 dsll at,at,0x10
10c: 6421abce daddiu at,at,-21554
110: 00010c38 dsll at,at,0x10
114: 0023082d daddu at,at,v1
118: fc22ef01 sd v0,-4351\(at\)
11c: 3c010123 lui at,0x123
120: 0023082d daddu at,at,v1
124: fc224567 sd v0,17767\(at\)
128: 3c020123 lui v0,0x123
12c: 3c0189ac lui at,0x89ac
130: 64424568 daddiu v0,v0,17768
134: 0023082d daddu at,at,v1
138: 0002103c dsll32 v0,v0,0x0
13c: 0041102d daddu v0,v0,at
140: 8c42cdef lw v0,-12817\(v0\)
144: 3c02abce lui v0,0xabce
148: 3c012345 lui at,0x2345
14c: 6442ef01 daddiu v0,v0,-4351
150: 0023082d daddu at,at,v1
154: 0002103c dsll32 v0,v0,0x0
158: 0041102d daddu v0,v0,at
15c: 8c426789 lw v0,26505\(v0\)
160: 3c028000 lui v0,0x8000
164: 0043102d daddu v0,v0,v1
168: 8c420000 lw v0,0\(v0\)
16c: 3c020000 lui v0,0x0
170: 3c010000 lui at,0x0
174: 6442ffff daddiu v0,v0,-1
178: 0023082d daddu at,at,v1
17c: 0002103c dsll32 v0,v0,0x0
180: 0041102d daddu v0,v0,at
184: 8c420000 lw v0,0\(v0\)
188: 3c028000 lui v0,0x8000
18c: 0043102d daddu v0,v0,v1
190: 8c42ffff lw v0,-1\(v0\)
194: 3c020000 lui v0,0x0
198: 3c01abce lui at,0xabce
19c: 64420001 daddiu v0,v0,1
1a0: 0023082d daddu at,at,v1
1a4: 0002103c dsll32 v0,v0,0x0
1a8: 0041102d daddu v0,v0,at
1ac: 8c42ef01 lw v0,-4351\(v0\)
1b0: 3c020123 lui v0,0x123
1b4: 0043102d daddu v0,v0,v1
1b8: 8c424567 lw v0,17767\(v0\)
1bc: 3c010123 lui at,0x123
1c0: 64214568 daddiu at,at,17768
1c4: 00010c38 dsll at,at,0x10
1c8: 642189ac daddiu at,at,-30292
1cc: 00010c38 dsll at,at,0x10
1d0: 0023082d daddu at,at,v1
1d4: ac22cdef sw v0,-12817\(at\)
1d8: 3c01abce lui at,0xabce
1dc: 6421ef01 daddiu at,at,-4351
1e0: 00010c38 dsll at,at,0x10
1e4: 64212345 daddiu at,at,9029
1e8: 00010c38 dsll at,at,0x10
1ec: 0023082d daddu at,at,v1
1f0: ac226789 sw v0,26505\(at\)
1f4: 3c018000 lui at,0x8000
1f8: 0023082d daddu at,at,v1
1fc: ac220000 sw v0,0\(at\)
200: 3c010000 lui at,0x0
204: 6421ffff daddiu at,at,-1
208: 00010c38 dsll at,at,0x10
20c: 64210000 daddiu at,at,0
210: 00010c38 dsll at,at,0x10
214: 0023082d daddu at,at,v1
218: ac220000 sw v0,0\(at\)
21c: 3c018000 lui at,0x8000
220: 0023082d daddu at,at,v1
224: ac22ffff sw v0,-1\(at\)
228: 3c010000 lui at,0x0
22c: 64210001 daddiu at,at,1
230: 00010c38 dsll at,at,0x10
234: 6421abce daddiu at,at,-21554
238: 00010c38 dsll at,at,0x10
23c: 0023082d daddu at,at,v1
240: ac22ef01 sw v0,-4351\(at\)
244: 3c010123 lui at,0x123
248: 0023082d daddu at,at,v1
24c: ac224567 sw v0,17767\(at\)
250: 3c020123 lui v0,0x123
254: 34424567 ori v0,v0,0x4567
258: 00021438 dsll v0,v0,0x10
25c: 344289ab ori v0,v0,0x89ab
260: 00021438 dsll v0,v0,0x10
264: 3442cdef ori v0,v0,0xcdef
268: 3c02abcd lui v0,0xabcd
26c: 3442ef01 ori v0,v0,0xef01
270: 00021438 dsll v0,v0,0x10
274: 34422345 ori v0,v0,0x2345
278: 00021438 dsll v0,v0,0x10
27c: 34426789 ori v0,v0,0x6789
280: 3c028000 lui v0,0x8000
284: 2402ffff li v0,-1
288: 0002103c dsll32 v0,v0,0x0
28c: 3402abcd li v0,0xabcd
290: 00021438 dsll v0,v0,0x10
294: 3442ef01 ori v0,v0,0xef01
298: 3c027fff lui v0,0x7fff
29c: 3442ffff ori v0,v0,0xffff
2a0: 3c020123 lui v0,0x123
2a4: 34424567 ori v0,v0,0x4567
\.\.\.

View file

@ -0,0 +1,42 @@
.text
ld $2, 0x0123456789abcdef($3)
ld $2, 0xabcdef0123456789($3)
ld $2, 0xffffffff80000000($3)
ld $2, 0xffffffff00000000($3)
ld $2, 0xffffffff7fffffff($3)
ld $2, 0xabcdef01($3)
ld $2, 0x01234567($3)
sd $2, 0x0123456789abcdef($3)
sd $2, 0xabcdef0123456789($3)
sd $2, 0xffffffff80000000($3)
sd $2, 0xffffffff00000000($3)
sd $2, 0xffffffff7fffffff($3)
sd $2, 0xabcdef01($3)
sd $2, 0x01234567($3)
lw $2, 0x0123456789abcdef($3)
lw $2, 0xabcdef0123456789($3)
lw $2, 0xffffffff80000000($3)
lw $2, 0xffffffff00000000($3)
lw $2, 0xffffffff7fffffff($3)
lw $2, 0xabcdef01($3)
lw $2, 0x01234567($3)
sw $2, 0x0123456789abcdef($3)
sw $2, 0xabcdef0123456789($3)
sw $2, 0xffffffff80000000($3)
sw $2, 0xffffffff00000000($3)
sw $2, 0xffffffff7fffffff($3)
sw $2, 0xabcdef01($3)
sw $2, 0x01234567($3)
dla $2, 0x0123456789abcdef
dla $2, 0xabcdef0123456789
dla $2, 0xffffffff80000000
dla $2, 0xffffffff00000000
dla $2, 0xabcdef01
dla $2, 0x7fffffff
dla $2, 0x01234567
.space 8

View file

@ -714,4 +714,13 @@ if { [istarget mips*-*-*] } then {
run_dump_test "hwr-names-numeric"
run_dump_test "hwr-names-mips32r2"
run_dump_test "hwr-names-mips64r2"
run_dump_test "ldstla-32"
run_dump_test "ldstla-32-shared"
if $has_newabi {
run_dump_test "ldstla-n32"
run_dump_test "ldstla-n32-shared"
run_dump_test "ldstla-n64"
run_dump_test "ldstla-n64-shared"
}
}