diff options
author | Andrew Pinski <apinski@cavium.com> | 2011-11-29 20:28:55 +0000 |
---|---|---|
committer | Andrew Pinski <apinski@cavium.com> | 2011-11-29 20:28:55 +0000 |
commit | dd6a37e700ab12b5f5e89b747992324e74981872 (patch) | |
tree | 85cfdc8abc67b5b005f7bbdeb123bf5730918ae4 /gas/testsuite | |
parent | b3364cb9c21f33b0f0de633d10f6729134b9bd6f (diff) | |
download | gdb-dd6a37e700ab12b5f5e89b747992324e74981872.zip gdb-dd6a37e700ab12b5f5e89b747992324e74981872.tar.gz gdb-dd6a37e700ab12b5f5e89b747992324e74981872.tar.bz2 |
opcode/
2011-11-29 Andrew Pinski <apinski@cavium.com>
* mips-dis.c (mips_arch_choices): Add Octeon+.
* mips-opc.c (IOCT): Include Octeon+.
(IOCTP): New macro.
(mips_builtin_opcodes): Add "saa" and "saad".
bfd/
2011-11-29 Andrew Pinski <apinski@cavium.com>
* archures.c (bfd_mach_mips_octeonp): New macro.
* bfd-in2.h: Regenerate.
* bfd/cpu-mips.c (I_mipsocteonp): New enum value.
(arch_info_struct): Add bfd_mach_mips_octeonp.
* elfxx-mips.c (mips_set_isa_flags): Add bfd_mach_mips_octeonp.
(mips_mach_extensions): Add bfd_mach_mips_octeonp.
include/opcodes/
2011-11-29 Andrew Pinski <apinski@cavium.com>
* mips.h (INSN_CHIP_MASK): Update according to INSN_OCTEONP.
(INSN_OCTEONP): New macro.
(CPU_OCTEONP): New macro.
(OPCODE_IS_MEMBER): Add Octeon+.
(M_SAA_AB, M_SAAD_AB, M_SAA_OB, M_SAAD_OB): New enum values.
gas/
2011-11-29 Andrew Pinski <apinski@cavium.com>
* config/tc-mips.c (CPU_IS_OCTEON): New macro function.
(CPU_HAS_SEQ): Change to use CPU_IS_OCTEON.
(NO_ISA_COP): Likewise.
(macro) <ld_st>: Add support when off0 is true.
Add support for M_SAA_AB, M_SAA_OB, M_SAAD_OB and M_SAAD_AB.
(mips_cpu_info_table): Add octeon+.
* doc/c-mips.texi: Document octeon+ as an acceptable value for -march=.
gas/testsuite/
2011-11-29 Andrew Pinski <apinski@cavium.com>
* gas/mips/mips.exp: Add octeon+ for an architecture.
Run octeon-saa-saad test.
(run_dump_test_arch): For Octeon architectures, also try octeon@.
* gas/mips/octeon-pref.d: Remove -march=octeon from command line.
* gas/mips/octeon.d: Likewise.
* gas/mips/octeon-saa-saad.d: New file.
* gas/mips/octeon-saa-saad.s: New file
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon-pref.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon-saa-saad.d | 58 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon-saa-saad.s | 33 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/octeon.d | 2 |
6 files changed, 114 insertions, 3 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 054eee3..6d0688b 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2011-11-29 Andrew Pinski <apinski@cavium.com> + + * gas/mips/mips.exp: Add octeon+ for an architecture. + Run octeon-saa-saad test. + (run_dump_test_arch): For Octeon architectures, also try octeon@. + * gas/mips/octeon-pref.d: Remove -march=octeon from command line. + * gas/mips/octeon.d: Likewise. + * gas/mips/octeon-saa-saad.d: New file. + * gas/mips/octeon-saa-saad.s: New file + 2011-11-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * gas/arm/mov-highregs-any.d: New testcase. diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 5d91aef..047c038 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -308,7 +308,13 @@ proc run_dump_test_arch { name arch } { set format [expr { $elf ? "elf" : $ecoff ? "ecoff" : "aout" }] set proparch [lindex [mips_arch_properties $arch 0] 0] - foreach prefix [list ${proparch}@${format}@ ${proparch}@ ${format}@] { + set prefixes [list ${proparch}@${format}@ ${proparch}@ ] + if { [ string match "octeon*" $proparch ] && $proparch != "octeon" } { + lappend prefixes octeon@ + lappend prefixes octeon@${format}@ + } + lappend prefixes ${format}@ + foreach prefix ${prefixes} { set archname ${prefix}${name} if { [file exists "$srcdir/$subdir/${archname}.d"] } { set name $archname @@ -412,6 +418,9 @@ mips_arch_create sb1 64 mips64 { mips3d } \ mips_arch_create octeon 64 mips64r2 {} \ { -march=octeon -mtune=octeon } { -mmips:octeon } \ { mips64octeon*-*-* } +mips_arch_create octeonp 64 octeon {} \ + { -march=octeon+ -mtune=octeon+ } { -mmips:octeon+ } \ + { } mips_arch_create xlr 64 mips64 {} \ { -march=xlr -mtune=xlr } { -mmips:xlr } @@ -981,6 +990,7 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "loongson-3a-3" run_dump_test_arches "octeon" [mips_arch_list_matching octeon] + run_dump_test_arches "octeon-saa-saad" [mips_arch_list_matching octeonp] run_list_test_arches "octeon-ill" "" \ [mips_arch_list_matching octeon] run_dump_test_arches "octeon-pref" [mips_arch_list_matching octeon] diff --git a/gas/testsuite/gas/mips/octeon-pref.d b/gas/testsuite/gas/mips/octeon-pref.d index 6dcb184..0b536d6 100644 --- a/gas/testsuite/gas/mips/octeon-pref.d +++ b/gas/testsuite/gas/mips/octeon-pref.d @@ -1,4 +1,4 @@ -#as: -march=octeon -64 -mfix-cn63xxp1 +#as: -64 -mfix-cn63xxp1 #objdump: -M reg-names=numeric -dr #name: MIPS octeon-pref mfix-cn63xxp1 diff --git a/gas/testsuite/gas/mips/octeon-saa-saad.d b/gas/testsuite/gas/mips/octeon-saa-saad.d new file mode 100644 index 0000000..e5dff8e --- /dev/null +++ b/gas/testsuite/gas/mips/octeon-saa-saad.d @@ -0,0 +1,58 @@ +#objdump: -d -r --show-raw-insn +#name: MIPS-OCTEON octeon_saa_saad + +.*: +file format .*mips.* + +Disassembly of section .text: + +[0-9a-f]+ <foo>: +.*: 70450018 saa a1,\(v0\) +.*: 70860019 saad a2,\(a0\) +.*: 00000000 nop +.*: 70450018 saa a1,\(v0\) +.*: 70860019 saad a2,\(a0\) +.*: 00000000 nop +.*: 3c010000 lui at,0x0 + 18: R_MIPS_HI16 .text +.*: 24210000 addiu at,at,0 + 1c: R_MIPS_LO16 .text +.*: 70250018 saa a1,\(at\) +.*: 3c010000 lui at,0x0 + 24: R_MIPS_HI16 .text +.*: 24210000 addiu at,at,0 + 28: R_MIPS_LO16 .text +.*: 70220019 saad v0,\(at\) +.*: 00000000 nop +.*: 3c011234 lui at,0x1234 +.*: 24215678 addiu at,at,22136 +.*: 70240018 saa a0,\(at\) +.*: 3c011234 lui at,0x1234 +.*: 24215678 addiu at,at,22136 +.*: 70240019 saad a0,\(at\) +.*: 00000000 nop +.*: 24811234 addiu at,a0,4660 +.*: 70250018 saa a1,\(at\) +.*: 2401003c li at,60 +.*: 70260019 saad a2,\(at\) +.*: 00000000 nop +.*: 3c010012 lui at,0x12 +.*: 00240821 addu at,at,a0 +.*: 24213456 addiu at,at,13398 +.*: 70250018 saa a1,\(at\) +.*: 24c11234 addiu at,a2,4660 +.*: 70260018 saa a2,\(at\) +.*: 00000000 nop +.*: 24a15678 addiu at,a1,22136 +.*: 70240019 saad a0,\(at\) +.*: 3c010056 lui at,0x56 +.*: 00250821 addu at,at,a1 +.*: 24217891 addiu at,at,30865 +.*: 70250019 saad a1,\(at\) +.*: 00000000 nop +.*: 24a10000 addiu at,a1,0 + 9c: R_MIPS_LO16 .text +.*: 70240018 saa a0,\(at\) +.*: 24a10000 addiu at,a1,0 + a4: R_MIPS_LO16 .text +.*: 70240019 saad a0,\(at\) +.*: 00000000 nop diff --git a/gas/testsuite/gas/mips/octeon-saa-saad.s b/gas/testsuite/gas/mips/octeon-saa-saad.s new file mode 100644 index 0000000..22d1a07 --- /dev/null +++ b/gas/testsuite/gas/mips/octeon-saa-saad.s @@ -0,0 +1,33 @@ + .text +foo: + saa $5,($2) + saad $6,($4) + nop + + saa $5,0($2) + saad $6,0($4) + nop + + saa $5, foo + saad $2, foo + nop + + saa $4, 0x12345678 + saad $4, 0x12345678 + nop + + saa $5, 0x1234($4) + saad $6, 60($0) + nop + + saa $5, 0x123456($4) + saa $6, 0x1234($6) + nop + + saad $4, 0x5678($5) + saad $5, 0x567891($5) + nop + + saa $4, %lo(foo)($5) + saad $4, %lo(foo)($5) + nop diff --git a/gas/testsuite/gas/mips/octeon.d b/gas/testsuite/gas/mips/octeon.d index 79b4001..a0e15d8 100644 --- a/gas/testsuite/gas/mips/octeon.d +++ b/gas/testsuite/gas/mips/octeon.d @@ -1,4 +1,4 @@ -#as: -march=octeon -64 +#as: -64 #objdump: -M reg-names=numeric -dr #name: MIPS octeon instructions |