From: Matthew Fortune Date: Tue, 9 Apr 2019 20:40:00 +0000 (+0000) Subject: [MIPS] Add i6500 CPU and fix i6400 default ASEs X-Git-Tag: binutils-2_33~1574 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bdc8beb41b656e8071af275ef0e98c4f2d05e564;p=external%2Fbinutils.git [MIPS] Add i6500 CPU and fix i6400 default ASEs gas/ * config/tc-mips.c (mips_cpu_info_table): Add i6500. Update default ASEs for i6400. * doc/c-mips.texi (-march): Document i6500. * testsuite/gas/mips/elf_mach_i6400.d: New test. * testsuite/gas/mips/elf_mach_i6500.d: New test. * testsuite/gas/mips/mips.exp: Run the new tests. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index b193e44..82fa9b2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,14 @@ 2019-04-09 Matthew Fortune + * config/tc-mips.c (mips_cpu_info_table): Add i6500. Update + default ASEs for i6400. + * doc/c-mips.texi (-march): Document i6500. + * testsuite/gas/mips/elf_mach_i6400.d: New test. + * testsuite/gas/mips/elf_mach_i6500.d: New test. + * testsuite/gas/mips/mips.exp: Run the new tests. + +2019-04-09 Matthew Fortune + * config/tc-mips.c (mips_set_options) : New field. (file_mips_opts, mips_opts) : Initialize new field. (file_mips_check_options): Propagate initial ASE settings. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 45e8f38..7eab392 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -20018,7 +20018,9 @@ static const struct mips_cpu_info mips_cpu_info_table[] = { "xlp", 0, 0, ISA_MIPS64R2, CPU_XLR }, /* MIPS 64 Release 6. */ - { "i6400", 0, ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6}, + { "i6400", 0, ASE_VIRT | ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6}, + { "i6500", 0, ASE_VIRT | ASE_MSA | ASE_CRC | ASE_GINV, + ISA_MIPS64R6, CPU_MIPS64R6}, { "p6600", 0, ASE_VIRT | ASE_MSA, ISA_MIPS64R6, CPU_MIPS64R6}, /* End marker. */ diff --git a/gas/doc/c-mips.texi b/gas/doc/c-mips.texi index 1ef289a..1df28c6 100644 --- a/gas/doc/c-mips.texi +++ b/gas/doc/c-mips.texi @@ -449,6 +449,7 @@ p5600, sb1, sb1a, i6400, +i6500, p6600, loongson2e, loongson2f, diff --git a/gas/testsuite/gas/mips/elf_mach_i6400.d b/gas/testsuite/gas/mips/elf_mach_i6400.d new file mode 100644 index 0000000..ca1619a --- /dev/null +++ b/gas/testsuite/gas/mips/elf_mach_i6400.d @@ -0,0 +1,23 @@ +#readelf: -Ah +#name: ELF i6400 markings +#as: -64 -march=i6400 +#source: empty.s + +ELF Header: +#... + Flags: +0xa......., .*mips64r6.* +#... + +MIPS ABI Flags Version: 0 + +ISA: MIPS64r6 +GPR size: 64 +CPR1 size: 128 +CPR2 size: 0 +FP ABI: .* +ISA Extension: None +ASEs: + VZ ASE + MSA ASE +FLAGS 1: .* +FLAGS 2: .* diff --git a/gas/testsuite/gas/mips/elf_mach_i6500.d b/gas/testsuite/gas/mips/elf_mach_i6500.d new file mode 100644 index 0000000..f1bb235 --- /dev/null +++ b/gas/testsuite/gas/mips/elf_mach_i6500.d @@ -0,0 +1,25 @@ +#readelf: -Ah +#name: ELF i6500 markings +#as: -64 -march=i6500 +#source: empty.s + +ELF Header: +#... + Flags: +0xa......., .*mips64r6.* +#... + +MIPS ABI Flags Version: 0 + +ISA: MIPS64r6 +GPR size: 64 +CPR1 size: 128 +CPR2 size: 0 +FP ABI: .* +ISA Extension: None +ASEs: + VZ ASE + MSA ASE + CRC ASE + GINV ASE +FLAGS 1: .* +FLAGS 2: .* diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 5969c59..635c7dc 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1152,6 +1152,8 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "elf_mach_5900" run_dump_test "elf_mach_interaptiv-mr2" run_dump_test "elf_mach_p6600" + run_dump_test "elf_mach_i6400" + run_dump_test "elf_mach_i6500" run_dump_test "mips-gp32-fp32-pic" run_dump_test "mips-gp32-fp64-pic"