gas/
* config/tc-mips.c (macro) <ld>: Don't use $zero for address calculation. gas/testsuite/ * gas/mips/ld-zero.d: New test. * gas/mips/ld-zero-2.d: New test. * gas/mips/ld-zero-3.d: New test. * gas/mips/ld-zero-q.d: New test. * gas/mips/ld-zero-u.d: New test. * gas/mips/ecoff@ld-zero-3.d: New test. * gas/mips/micromips@ld-zero-2.d: New test. * gas/mips/micromips@ld-zero-3.d: New test. * gas/mips/ld-zero.s: New test source. * gas/mips/ld-zero-2.s: New test source. * gas/mips/ld-zero-3.s: New test source. * gas/mips/ld-zero-q.s: New test source. * gas/mips/ld-zero-u.s: New test source. * gas/mips/mips.exp: Run the new tests.
This commit is contained in:
parent
418009c200
commit
f19ccbda97
17 changed files with 186 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-05-28 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
|
||||
|
||||
* config/tc-mips.c (macro) <ld>: Don't use $zero for address
|
||||
calculation.
|
||||
|
||||
2013-05-28 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
* config/tc-aarch64.c (reloc_table): Update to use
|
||||
|
|
|
@ -8286,7 +8286,8 @@ macro (struct mips_cl_insn *ip)
|
|||
goto ld_st;
|
||||
|
||||
ld:
|
||||
if (breg == treg + lp)
|
||||
/* We don't want to use $0 as tempreg. */
|
||||
if (breg == treg + lp || treg + lp == ZERO)
|
||||
goto ld_st;
|
||||
else
|
||||
tempreg = treg + lp;
|
||||
|
|
|
@ -1,3 +1,20 @@
|
|||
2013-05-28 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* gas/mips/ld-zero.d: New test.
|
||||
* gas/mips/ld-zero-2.d: New test.
|
||||
* gas/mips/ld-zero-3.d: New test.
|
||||
* gas/mips/ld-zero-q.d: New test.
|
||||
* gas/mips/ld-zero-u.d: New test.
|
||||
* gas/mips/ecoff@ld-zero-3.d: New test.
|
||||
* gas/mips/micromips@ld-zero-2.d: New test.
|
||||
* gas/mips/micromips@ld-zero-3.d: New test.
|
||||
* gas/mips/ld-zero.s: New test source.
|
||||
* gas/mips/ld-zero-2.s: New test source.
|
||||
* gas/mips/ld-zero-3.s: New test source.
|
||||
* gas/mips/ld-zero-q.s: New test source.
|
||||
* gas/mips/ld-zero-u.s: New test source.
|
||||
* gas/mips/mips.exp: Run the new tests.
|
||||
|
||||
2013-05-28 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
* gas/aarch64/tls.d: Update.
|
||||
|
|
4
gas/testsuite/gas/mips/ecoff@ld-zero-3.d
Normal file
4
gas/testsuite/gas/mips/ecoff@ld-zero-3.d
Normal file
|
@ -0,0 +1,4 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#name: MIPS III load $zero
|
||||
#source: ld-zero-3.s
|
||||
#dump: ld-zero-3.d
|
11
gas/testsuite/gas/mips/ld-zero-2.d
Normal file
11
gas/testsuite/gas/mips/ld-zero-2.d
Normal file
|
@ -0,0 +1,11 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#as: -32
|
||||
#name: MIPS II load $zero
|
||||
|
||||
.*: +file format .*mips.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> ll zero,22136\(at\)
|
||||
\.\.\.
|
7
gas/testsuite/gas/mips/ld-zero-2.s
Normal file
7
gas/testsuite/gas/mips/ld-zero-2.s
Normal file
|
@ -0,0 +1,7 @@
|
|||
.text
|
||||
foo:
|
||||
ll $0, 0x12345678($2)
|
||||
|
||||
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
|
||||
.align 4, 0
|
||||
.space 16
|
17
gas/testsuite/gas/mips/ld-zero-3.d
Normal file
17
gas/testsuite/gas/mips/ld-zero-3.d
Normal file
|
@ -0,0 +1,17 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#as: -mabi=o64
|
||||
#name: MIPS III load $zero
|
||||
|
||||
.*: +file format .*mips.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lwu zero,22136\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> ld zero,22136\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lld zero,22136\(at\)
|
||||
\.\.\.
|
9
gas/testsuite/gas/mips/ld-zero-3.s
Normal file
9
gas/testsuite/gas/mips/ld-zero-3.s
Normal file
|
@ -0,0 +1,9 @@
|
|||
.text
|
||||
foo:
|
||||
lwu $0, 0x12345678($2)
|
||||
ld $0, 0x12345678($2)
|
||||
lld $0, 0x12345678($2)
|
||||
|
||||
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
|
||||
.align 4, 0
|
||||
.space 16
|
11
gas/testsuite/gas/mips/ld-zero-q.d
Normal file
11
gas/testsuite/gas/mips/ld-zero-q.d
Normal file
|
@ -0,0 +1,11 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#as: -32
|
||||
#name: MIPS R5900 load $zero
|
||||
|
||||
.*: +file format .*mips.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lq zero,22136\(at\)
|
||||
\.\.\.
|
7
gas/testsuite/gas/mips/ld-zero-q.s
Normal file
7
gas/testsuite/gas/mips/ld-zero-q.s
Normal file
|
@ -0,0 +1,7 @@
|
|||
.text
|
||||
foo:
|
||||
lq $0, 0x12345678($2)
|
||||
|
||||
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
|
||||
.align 4, 0
|
||||
.space 16
|
15
gas/testsuite/gas/mips/ld-zero-u.d
Normal file
15
gas/testsuite/gas/mips/ld-zero-u.d
Normal file
|
@ -0,0 +1,15 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#as: -32
|
||||
#name: microMIPS load $zero
|
||||
|
||||
.*: +file format .*mips.*
|
||||
Disassembly of section \.text:
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> ori at,at,0x5000
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lwp zero,1656\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> ori at,at,0x5000
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> ldp zero,1656\(at\)
|
||||
\.\.\.
|
8
gas/testsuite/gas/mips/ld-zero-u.s
Normal file
8
gas/testsuite/gas/mips/ld-zero-u.s
Normal file
|
@ -0,0 +1,8 @@
|
|||
.text
|
||||
foo:
|
||||
lwp $0, 0x12345678($2)
|
||||
ldp $0, 0x12345678($2)
|
||||
|
||||
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
|
||||
.align 4, 0
|
||||
.space 16
|
23
gas/testsuite/gas/mips/ld-zero.d
Normal file
23
gas/testsuite/gas/mips/ld-zero.d
Normal file
|
@ -0,0 +1,23 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#as: -32
|
||||
#name: MIPS load $zero
|
||||
|
||||
.*: +file format .*mips.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lb zero,22136\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lbu zero,22136\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lh zero,22136\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lhu zero,22136\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lw zero,22136\(at\)
|
||||
\.\.\.
|
11
gas/testsuite/gas/mips/ld-zero.s
Normal file
11
gas/testsuite/gas/mips/ld-zero.s
Normal file
|
@ -0,0 +1,11 @@
|
|||
.text
|
||||
foo:
|
||||
lb $0, 0x12345678($2)
|
||||
lbu $0, 0x12345678($2)
|
||||
lh $0, 0x12345678($2)
|
||||
lhu $0, 0x12345678($2)
|
||||
lw $0, 0x12345678($2)
|
||||
|
||||
# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
|
||||
.align 4, 0
|
||||
.space 16
|
13
gas/testsuite/gas/mips/micromips@ld-zero-2.d
Normal file
13
gas/testsuite/gas/mips/micromips@ld-zero-2.d
Normal file
|
@ -0,0 +1,13 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#as: -32
|
||||
#name: MIPS II load $zero
|
||||
#source: ld-zero-2.s
|
||||
|
||||
.*: +file format .*mips.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> ori at,at,0x5000
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> ll zero,1656\(at\)
|
||||
\.\.\.
|
21
gas/testsuite/gas/mips/micromips@ld-zero-3.d
Normal file
21
gas/testsuite/gas/mips/micromips@ld-zero-3.d
Normal file
|
@ -0,0 +1,21 @@
|
|||
#objdump: -dr --prefix-addresses
|
||||
#as: -32
|
||||
#name: MIPS III load $zero
|
||||
#source: ld-zero-3.s
|
||||
|
||||
.*: +file format .*mips.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> ori at,at,0x5000
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lwu zero,1656\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> addu at,v0,at
|
||||
[0-9a-f]+ <[^>]*> lw zero,22136\(at\)
|
||||
[0-9a-f]+ <[^>]*> lw at,22140\(at\)
|
||||
[0-9a-f]+ <[^>]*> lui at,0x1234
|
||||
[0-9a-f]+ <[^>]*> ori at,at,0x5000
|
||||
[0-9a-f]+ <[^>]*> addu at,at,v0
|
||||
[0-9a-f]+ <[^>]*> lld zero,1656\(at\)
|
||||
\.\.\.
|
|
@ -698,6 +698,11 @@ if { [istarget mips*-*-vxworks*] } {
|
|||
[mips_arch_list_matching mips3 !singlefloat]
|
||||
}
|
||||
}
|
||||
run_dump_test_arches "ld-zero" [mips_arch_list_matching mips1]
|
||||
run_dump_test_arches "ld-zero-2" [mips_arch_list_matching mips2 !nollsc]
|
||||
run_dump_test_arches "ld-zero-3" [mips_arch_list_matching mips3 !nollsc]
|
||||
run_dump_test_arches "ld-zero-u" [mips_arch_list_matching micromips]
|
||||
run_dump_test_arches "ld-zero-q" [mips_arch_list_matching r5900]
|
||||
if $elf { run_dump_test "ld-svr4pic" }
|
||||
if $elf { run_dump_test "ld-xgot" }
|
||||
run_dump_test_arches "li" [mips_arch_list_matching mips1]
|
||||
|
|
Loading…
Reference in a new issue