diff options
author | Chenghua Xu <paul.hua.gm@gmail.com> | 2018-07-20 13:21:33 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@mips.com> | 2018-07-20 13:21:33 +0100 |
commit | 8095d2f70e1a982c006f306be1a9e1c892758914 (patch) | |
tree | 75d94d2162fb314607ec90db8e4088654ce7c6de /gas | |
parent | db841b6fcd8b3bc2e6d6774e81c14dfbb9ac815d (diff) | |
download | gdb-8095d2f70e1a982c006f306be1a9e1c892758914.zip gdb-8095d2f70e1a982c006f306be1a9e1c892758914.tar.gz gdb-8095d2f70e1a982c006f306be1a9e1c892758914.tar.bz2 |
MIPS/GAS: Split Loongson MMI Instructions from loongson2f/3a
The MMI instruction set has been implemented in many Loongson
processors. There is a lot of software optimized for MMI. This patch
splits MMI from loongson2f/3a, and adds GAS and disassembler options for
MMI instructions.
2018-07-20 Chenghua Xu <paul.hua.gm@gmail.com>
Maciej W. Rozycki <macro@mips.com>
bfd/
* elfxx-mips.c (print_mips_ases): Add MMI extension.
binutils/
* readelf.c (print_mips_ases): Add MMI extension.
gas/
* NEWS: Mention MultiMedia extensions Instructions (MMI)
support.
* config/tc-mips.c (options): Add OPTION_LOONGSON_MMI and
OPTION_NO_LOONGSON_MMI.
(md_longopts): Likewise.
(mips_ases): Define availability for MMI.
(mips_convert_ase_flags): Map ASE_LOONGSON_MMI to
AFL_ASE_LOONGSON_MMI.
(mips_cpu_info_table): Add ASE_LOONGSON_MMI for loongson2f/3a.
(md_show_usage): Add help for -mloongson-mmi and
-mno-loongson-mmi.
* doc/as.texi: Document -mloongson-mmi, -mno-loongson-mmi.
* doc/c-mips.texi: Document -mloongson-mmi, -mno-loongson-mmi,
.set loongson-mmi and .set noloongson-mmi.
* testsuite/gas/mips/loongson-2f.d: Move mmi test to ...
* testsuite/gas/mips/loongson-2f-mmi.d: Here. Add ISA/ASE
flag verification.
* testsuite/gas/mips/loongson-2f.s: Move mmi test to ...
* testsuite/gas/mips/loongson-2f-mmi.s: Here.
* testsuite/gas/mips/loongson-3a.d: Move mmi test to ...
* testsuite/gas/mips/loongson-3a-mmi.d: Here. Add ISA/ASE
flag verification.
* testsuite/gas/mips/loongson-3a.s: Move mmi test to ...
* testsuite/gas/mips/loongson-3a-mmi.s: Here.
* testsuite/gas/mips/mips.exp: Run loongson-2f-mmi and
loongson-3a-mmi tests.
include/
* elf/mips.h (AFL_ASE_MMI): New macro.
(AFL_ASE_MASK): Update to include AFL_ASE_LOONGSON_MMI.
* opcode/mips.h (ASE_LOONGSON_MMI): New macro.
opcodes/
* mips-dis.c (mips_arch_choices): Add MMI to loongson2f and
loongson3a descriptors.
(parse_mips_ase_option): Handle -M loongson-mmi option.
(print_mips_disassembler_options): Document -M loongson-mmi.
* mips-opc.c (LMMI): New macro.
(mips_opcodes): Replace IL2F|IL3A marking with LMMI for MMI
instructions.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 30 | ||||
-rw-r--r-- | gas/NEWS | 3 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 18 | ||||
-rw-r--r-- | gas/doc/as.texi | 8 | ||||
-rw-r--r-- | gas/doc/c-mips.texi | 15 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-2f-mmi.d | 106 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-2f-mmi.s | 86 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-2f.d | 86 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-2f.s | 84 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-3a-mmi.d | 106 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-3a-mmi.s | 86 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-3a.d | 84 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/loongson-3a.s | 84 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 3 |
14 files changed, 460 insertions, 339 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index beea270..a612f71 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,33 @@ +2018-07-20 Chenghua Xu <paul.hua.gm@gmail.com> + Maciej W. Rozycki <macro@mips.com> + + * NEWS: Mention MultiMedia extensions Instructions (MMI) + support. + * config/tc-mips.c (options): Add OPTION_LOONGSON_MMI and + OPTION_NO_LOONGSON_MMI. + (md_longopts): Likewise. + (mips_ases): Define availability for MMI. + (mips_convert_ase_flags): Map ASE_LOONGSON_MMI to + AFL_ASE_LOONGSON_MMI. + (mips_cpu_info_table): Add ASE_LOONGSON_MMI for loongson2f/3a. + (md_show_usage): Add help for -mloongson-mmi and + -mno-loongson-mmi. + * doc/as.texi: Document -mloongson-mmi, -mno-loongson-mmi. + * doc/c-mips.texi: Document -mloongson-mmi, -mno-loongson-mmi, + .set loongson-mmi and .set noloongson-mmi. + * testsuite/gas/mips/loongson-2f.d: Move mmi test to ... + * testsuite/gas/mips/loongson-2f-mmi.d: Here. Add ISA/ASE + flag verification. + * testsuite/gas/mips/loongson-2f.s: Move mmi test to ... + * testsuite/gas/mips/loongson-2f-mmi.s: Here. + * testsuite/gas/mips/loongson-3a.d: Move mmi test to ... + * testsuite/gas/mips/loongson-3a-mmi.d: Here. Add ISA/ASE + flag verification. + * testsuite/gas/mips/loongson-3a.s: Move mmi test to ... + * testsuite/gas/mips/loongson-3a-mmi.s: Here. + * testsuite/gas/mips/mips.exp: Run loongson-2f-mmi and + loongson-3a-mmi tests. + 2018-07-20 Jose E. Marchesi <jose.marchesi@oracle.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> @@ -1,5 +1,8 @@ -*- text -*- +* Add support for the MIPS Loongson MultiMedia extensions Instructions (MMI) + ASE. + Changes in 2.31: * The ADR and ADRL pseudo-instructions supported by the ARM assembler diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 59df787..9bbf59c 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -1529,6 +1529,8 @@ enum options OPTION_NO_ODD_SPREG, OPTION_GINV, OPTION_NO_GINV, + OPTION_LOONGSON_MMI, + OPTION_NO_LOONGSON_MMI, OPTION_END_OF_ENUM }; @@ -1589,6 +1591,8 @@ struct option md_longopts[] = {"mno-crc", no_argument, NULL, OPTION_NO_CRC}, {"mginv", no_argument, NULL, OPTION_GINV}, {"mno-ginv", no_argument, NULL, OPTION_NO_GINV}, + {"mloongson-mmi", no_argument, NULL, OPTION_LOONGSON_MMI}, + {"mno-loongson-mmi", no_argument, NULL, OPTION_NO_LOONGSON_MMI}, /* Old-style architecture options. Don't add more of these. */ {"m4650", no_argument, NULL, OPTION_M4650}, @@ -1786,6 +1790,11 @@ static const struct mips_ase mips_ases[] = { OPTION_GINV, OPTION_NO_GINV, 6, 6, 6, 6, -1 }, + + { "loongson-mmi", ASE_LOONGSON_MMI, 0, + OPTION_LOONGSON_MMI, OPTION_NO_LOONGSON_MMI, + 0, 0, -1, -1, + -1 }, }; /* The set of ASEs that require -mfp64. */ @@ -19017,6 +19026,8 @@ mips_convert_ase_flags (int ase) ext_ases |= AFL_ASE_CRC; if (ase & ASE_GINV) ext_ases |= AFL_ASE_GINV; + if (ase & ASE_LOONGSON_MMI) + ext_ases |= AFL_ASE_LOONGSON_MMI; return ext_ases; } @@ -19663,7 +19674,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] = { "r5900", 0, 0, ISA_MIPS3, CPU_R5900 }, /* ST Microelectronics Loongson 2E and 2F cores */ { "loongson2e", 0, 0, ISA_MIPS3, CPU_LOONGSON_2E }, - { "loongson2f", 0, 0, ISA_MIPS3, CPU_LOONGSON_2F }, + { "loongson2f", 0, ASE_LOONGSON_MMI, ISA_MIPS3, CPU_LOONGSON_2F }, /* MIPS IV */ { "r8000", 0, 0, ISA_MIPS4, CPU_R8000 }, @@ -19762,7 +19773,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] = /* Broadcom SB-1A CPU core */ { "sb1a", 0, ASE_MIPS3D | ASE_MDMX, ISA_MIPS64, CPU_SB1 }, - { "loongson3a", 0, 0, ISA_MIPS64R2, CPU_LOONGSON_3A }, + { "loongson3a", 0, ASE_LOONGSON_MMI, ISA_MIPS64R2, CPU_LOONGSON_3A }, /* MIPS 64 Release 2 */ @@ -20037,6 +20048,9 @@ MIPS options:\n\ -mginv generate Global INValidate (GINV) instructions\n\ -mno-ginv do not generate Global INValidate instructions\n")); fprintf (stream, _("\ +-mloongson-mmi generate Loongson MultiMedia extensions Instructions (MMI) instructions\n\ +-mno-loongson-mmi do not generate Loongson MultiMedia extensions Instructions\n")); + fprintf (stream, _("\ -minsn32 only generate 32-bit microMIPS instructions\n\ -mno-insn32 generate all microMIPS instructions\n")); fprintf (stream, _("\ diff --git a/gas/doc/as.texi b/gas/doc/as.texi index 49b1ef1..e9b6016 100644 --- a/gas/doc/as.texi +++ b/gas/doc/as.texi @@ -424,6 +424,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. [@b{-mmcu}] [@b{-mno-mcu}] [@b{-mcrc}] [@b{-mno-crc}] [@b{-mginv}] [@b{-mno-ginv}] + [@b{-mloongson-mmi}] [@b{-mno-loongson-mmi}] [@b{-minsn32}] [@b{-mno-insn32}] [@b{-mfix7000}] [@b{-mno-fix7000}] [@b{-mfix-rm7000}] [@b{-mno-fix-rm7000}] @@ -1526,6 +1527,13 @@ Generate code for the Global INValidate (GINV) Application Specific Extension. This tells the assembler to accept GINV instructions. @samp{-mno-ginv} turns off this option. +@item -mloongson-mmi +@itemx -mno-loongson-mmi +Generate code for the Loongson MultiMedia extensions Instructions (MMI) +Application Specific Extension. This tells the assembler to accept MMI +instructions. +@samp{-mno-loongson-mmi} turns off this option. + @item -minsn32 @itemx -mno-insn32 Only use 32-bit instruction encodings when generating code for the diff --git a/gas/doc/c-mips.texi b/gas/doc/c-mips.texi index 24f6843..d10f2d6 100644 --- a/gas/doc/c-mips.texi +++ b/gas/doc/c-mips.texi @@ -246,6 +246,13 @@ Generate code for the Global INValidate (GINV) Application Specific Extension. This tells the assembler to accept GINV instructions. @samp{-mno-ginv} turns off this option. +@item -mloongson-mmi +@itemx -mno-loongson-mmi +Generate code for the Loongson MultiMedia extensions Instructions (MMI) +Application Specific Extension. This tells the assembler to accept MMI +instructions. +@samp{-mno-loongson-mmi} turns off this option. + @item -minsn32 @itemx -mno-insn32 Only use 32-bit instruction encodings when generating code for the @@ -1137,6 +1144,14 @@ The directive @code{.set ginv} makes the assembler accept instructions from the GINV Extension from that point on in the assembly. The @code{.set noginv} directive prevents GINV instructions from being accepted. +@cindex Loongson MultiMedia extensions Instructions (MMI) generation override +@kindex @code{.set loongson-mmi} +@kindex @code{.set noloongson-mmi} +The directive @code{.set loongson-mmi} makes the assembler accept +instructions from the MMI Extension from that point on in the assembly. +The @code{.set noloongson-mmi} directive prevents MMI instructions from +being accepted. + Traditional MIPS assemblers do not support these directives. @node MIPS Floating-Point diff --git a/gas/testsuite/gas/mips/loongson-2f-mmi.d b/gas/testsuite/gas/mips/loongson-2f-mmi.d new file mode 100644 index 0000000..84224f9 --- /dev/null +++ b/gas/testsuite/gas/mips/loongson-2f-mmi.d @@ -0,0 +1,106 @@ +#as: -march=loongson2f -mabi=o64 +#objdump: -M reg-names=numeric -dp +#name: Loongson-2F MMI tests + +.*: file format .* + +private flags = .* + +MIPS ABI Flags Version: 0 +ISA: .* +GPR size: .* +CPR1 size: .* +CPR2 size: .* +FP ABI: .* +ISA Extension: ST Microelectronics Loongson 2F +ASEs: + Loongson MMI ASE +FLAGS 1: .* +FLAGS 2: .* + +Disassembly of section .text: + +[0-9a-f]+ <simd_insns>: +.*: 4b420802 packsshb \$f0,\$f1,\$f2 +.*: 4b2520c2 packsswh \$f3,\$f4,\$f5 +.*: 4b683982 packushb \$f6,\$f7,\$f8 +.*: 4bcb5240 paddb \$f9,\$f10,\$f11 +.*: 4b4e6b00 paddh \$f12,\$f13,\$f14 +.*: 4b7183c0 paddw \$f15,\$f16,\$f17 +.*: 4bf49c80 paddd \$f18,\$f19,\$f20 +.*: 4b97b540 paddsb \$f21,\$f22,\$f23 +.*: 4b1ace00 paddsh \$f24,\$f25,\$f26 +.*: 4bbde6c0 paddusb \$f27,\$f28,\$f29 +.*: 4b220800 paddush \$f0,\$f1,\$f2 +.*: 4be520c2 pandn \$f3,\$f4,\$f5 +.*: 4b283988 pavgb \$f6,\$f7,\$f8 +.*: 4b0b5248 pavgh \$f9,\$f10,\$f11 +.*: 4b8e6b09 pcmpeqb \$f12,\$f13,\$f14 +.*: 4b5183c9 pcmpeqh \$f15,\$f16,\$f17 +.*: 4b149c89 pcmpeqw \$f18,\$f19,\$f20 +.*: 4bb7b549 pcmpgtb \$f21,\$f22,\$f23 +.*: 4b7ace09 pcmpgth \$f24,\$f25,\$f26 +.*: 4b3de6c9 pcmpgtw \$f27,\$f28,\$f29 +.*: 4b42080e pextrh \$f0,\$f1,\$f2 +.*: 4b8520c3 pinsrh_0 \$f3,\$f4,\$f5 +.*: 4ba83983 pinsrh_1 \$f6,\$f7,\$f8 +.*: 4bcb5243 pinsrh_2 \$f9,\$f10,\$f11 +.*: 4bee6b03 pinsrh_3 \$f12,\$f13,\$f14 +.*: 4b7183ce pmaddhw \$f15,\$f16,\$f17 +.*: 4b549c88 pmaxsh \$f18,\$f19,\$f20 +.*: 4b97b548 pmaxub \$f21,\$f22,\$f23 +.*: 4b7ace08 pminsh \$f24,\$f25,\$f26 +.*: 4bbde6c8 pminub \$f27,\$f28,\$f29 +.*: 4ba0080f pmovmskb \$f0,\$f1 +.*: 4ba4188a pmulhuh \$f2,\$f3,\$f4 +.*: 4b67314a pmulhh \$f5,\$f6,\$f7 +.*: 4b4a4a0a pmullh \$f8,\$f9,\$f10 +.*: 4b8d62ca pmuluw \$f11,\$f12,\$f13 +.*: 4b307b8d pasubub \$f14,\$f15,\$f16 +.*: 4b80944f biadd \$f17,\$f18 +.*: 4b15a4c2 pshufh \$f19,\$f20,\$f21 +.*: 4b38bd8a psllh \$f22,\$f23,\$f24 +.*: 4b1bd64a psllw \$f25,\$f26,\$f27 +.*: 4b7eef0b psrah \$f28,\$f29,\$f30 +.*: 4b42080b psraw \$f0,\$f1,\$f2 +.*: 4b2520cb psrlh \$f3,\$f4,\$f5 +.*: 4b08398b psrlw \$f6,\$f7,\$f8 +.*: 4bcb5241 psubb \$f9,\$f10,\$f11 +.*: 4b4e6b01 psubh \$f12,\$f13,\$f14 +.*: 4b7183c1 psubw \$f15,\$f16,\$f17 +.*: 4bf49c81 psubd \$f18,\$f19,\$f20 +.*: 4b97b541 psubsb \$f21,\$f22,\$f23 +.*: 4b1ace01 psubsh \$f24,\$f25,\$f26 +.*: 4bbde6c1 psubusb \$f27,\$f28,\$f29 +.*: 4b220801 psubush \$f0,\$f1,\$f2 +.*: 4b6520c3 punpckhbh \$f3,\$f4,\$f5 +.*: 4b283983 punpckhhw \$f6,\$f7,\$f8 +.*: 4bab524b punpckhwd \$f9,\$f10,\$f11 +.*: 4b4e6b03 punpcklbh \$f12,\$f13,\$f14 +.*: 4b1183c3 punpcklhw \$f15,\$f16,\$f17 +.*: 4b949c8b punpcklwd \$f18,\$f19,\$f20 + +[0-9a-f]+ <fixed_point_insns>: +.*: 4b42080c add \$f0,\$f1,\$f2 +.*: 4b0520cc addu \$f3,\$f4,\$f5 +.*: 4b68398c dadd \$f6,\$f7,\$f8 +.*: 4b4b524d sub \$f9,\$f10,\$f11 +.*: 4b0e6b0d subu \$f12,\$f13,\$f14 +.*: 4b7183cd dsub \$f15,\$f16,\$f17 +.*: 4b349c8c or \$f18,\$f19,\$f20 +.*: 4b17b54e sll \$f21,\$f22,\$f23 +.*: 4b3ace0e dsll \$f24,\$f25,\$f26 +.*: 4b9de6c2 xor \$f27,\$f28,\$f29 +.*: 4ba20802 nor \$f0,\$f1,\$f2 +.*: 4bc520c2 and \$f3,\$f4,\$f5 +.*: 4b08398f srl \$f6,\$f7,\$f8 +.*: 4b2b524f dsrl \$f9,\$f10,\$f11 +.*: 4b4e6b0f sra \$f12,\$f13,\$f14 +.*: 4b7183cf dsra \$f15,\$f16,\$f17 +.*: 4b93900c sequ \$f18,\$f19 +.*: 4b95a00d sltu \$f20,\$f21 +.*: 4b97b00e sleu \$f22,\$f23 +.*: 4bb9c00c seq \$f24,\$f25 +.*: 4bbbd00d slt \$f26,\$f27 +.*: 4bbde00e sle \$f28,\$f29 +#pass diff --git a/gas/testsuite/gas/mips/loongson-2f-mmi.s b/gas/testsuite/gas/mips/loongson-2f-mmi.s new file mode 100644 index 0000000..e87d66e --- /dev/null +++ b/gas/testsuite/gas/mips/loongson-2f-mmi.s @@ -0,0 +1,86 @@ + .text + .set noreorder + +simd_insns: + packsshb $f0, $f1, $f2 + packsswh $f3, $f4, $f5 + packushb $f6, $f7, $f8 + paddb $f9, $f10, $f11 + paddh $f12, $f13, $f14 + paddw $f15, $f16, $f17 + paddd $f18, $f19, $f20 + paddsb $f21, $f22, $f23 + paddsh $f24, $f25, $f26 + paddusb $f27, $f28, $f29 + paddush $f0, $f1, $f2 + pandn $f3, $f4, $f5 + pavgb $f6, $f7, $f8 + pavgh $f9, $f10, $f11 + pcmpeqb $f12, $f13, $f14 + pcmpeqh $f15, $f16, $f17 + pcmpeqw $f18, $f19, $f20 + pcmpgtb $f21, $f22, $f23 + pcmpgth $f24, $f25, $f26 + pcmpgtw $f27, $f28, $f29 + pextrh $f0, $f1, $f2 + pinsrh_0 $f3, $f4, $f5 + pinsrh_1 $f6, $f7, $f8 + pinsrh_2 $f9, $f10, $f11 + pinsrh_3 $f12, $f13, $f14 + pmaddhw $f15, $f16, $f17 + pmaxsh $f18, $f19, $f20 + pmaxub $f21, $f22, $f23 + pminsh $f24, $f25, $f26 + pminub $f27, $f28, $f29 + pmovmskb $f0, $f1 + pmulhuh $f2, $f3, $f4 + pmulhh $f5, $f6, $f7 + pmullh $f8, $f9, $f10 + pmuluw $f11, $f12, $f13 + pasubub $f14, $f15, $f16 + biadd $f17, $f18 + pshufh $f19, $f20, $f21 + psllh $f22, $f23, $f24 + psllw $f25, $f26, $f27 + psrah $f28, $f29, $f30 + psraw $f0, $f1, $f2 + psrlh $f3, $f4, $f5 + psrlw $f6, $f7, $f8 + psubb $f9, $f10, $f11 + psubh $f12, $f13, $f14 + psubw $f15, $f16, $f17 + psubd $f18, $f19, $f20 + psubsb $f21, $f22, $f23 + psubsh $f24, $f25, $f26 + psubusb $f27, $f28, $f29 + psubush $f0, $f1, $f2 + punpckhbh $f3, $f4, $f5 + punpckhhw $f6, $f7, $f8 + punpckhwd $f9, $f10, $f11 + punpcklbh $f12, $f13, $f14 + punpcklhw $f15, $f16, $f17 + punpcklwd $f18, $f19, $f20 + +fixed_point_insns: + add $f0, $f1, $f2 + addu $f3, $f4, $f5 + dadd $f6, $f7, $f8 + sub $f9, $f10, $f11 + subu $f12, $f13, $f14 + dsub $f15, $f16, $f17 + or $f18, $f19, $f20 + sll $f21, $f22, $f23 + dsll $f24, $f25, $f26 + xor $f27, $f28, $f29 + nor $f0, $f1, $f2 + and $f3, $f4, $f5 + srl $f6, $f7, $f8 + dsrl $f9, $f10, $f11 + sra $f12, $f13, $f14 + dsra $f15, $f16, $f17 + sequ $f18, $f19 + sltu $f20, $f21 + sleu $f22, $f23 + seq $f24, $f25 + slt $f26, $f27 + sle $f28, $f29 diff --git a/gas/testsuite/gas/mips/loongson-2f.d b/gas/testsuite/gas/mips/loongson-2f.d index a4e83c9..3f4566f 100644 --- a/gas/testsuite/gas/mips/loongson-2f.d +++ b/gas/testsuite/gas/mips/loongson-2f.d @@ -39,91 +39,7 @@ Disassembly of section .text: .*: 7222081b nmsub.d \$f0,\$f1,\$f2 .*: 72c520db nmsub.ps \$f3,\$f4,\$f5 -[0-9a-f]+ <simd_insns>: -.*: 4b420802 packsshb \$f0,\$f1,\$f2 -.*: 4b2520c2 packsswh \$f3,\$f4,\$f5 -.*: 4b683982 packushb \$f6,\$f7,\$f8 -.*: 4bcb5240 paddb \$f9,\$f10,\$f11 -.*: 4b4e6b00 paddh \$f12,\$f13,\$f14 -.*: 4b7183c0 paddw \$f15,\$f16,\$f17 -.*: 4bf49c80 paddd \$f18,\$f19,\$f20 -.*: 4b97b540 paddsb \$f21,\$f22,\$f23 -.*: 4b1ace00 paddsh \$f24,\$f25,\$f26 -.*: 4bbde6c0 paddusb \$f27,\$f28,\$f29 -.*: 4b220800 paddush \$f0,\$f1,\$f2 -.*: 4be520c2 pandn \$f3,\$f4,\$f5 -.*: 4b283988 pavgb \$f6,\$f7,\$f8 -.*: 4b0b5248 pavgh \$f9,\$f10,\$f11 -.*: 4b8e6b09 pcmpeqb \$f12,\$f13,\$f14 -.*: 4b5183c9 pcmpeqh \$f15,\$f16,\$f17 -.*: 4b149c89 pcmpeqw \$f18,\$f19,\$f20 -.*: 4bb7b549 pcmpgtb \$f21,\$f22,\$f23 -.*: 4b7ace09 pcmpgth \$f24,\$f25,\$f26 -.*: 4b3de6c9 pcmpgtw \$f27,\$f28,\$f29 -.*: 4b42080e pextrh \$f0,\$f1,\$f2 -.*: 4b8520c3 pinsrh_0 \$f3,\$f4,\$f5 -.*: 4ba83983 pinsrh_1 \$f6,\$f7,\$f8 -.*: 4bcb5243 pinsrh_2 \$f9,\$f10,\$f11 -.*: 4bee6b03 pinsrh_3 \$f12,\$f13,\$f14 -.*: 4b7183ce pmaddhw \$f15,\$f16,\$f17 -.*: 4b549c88 pmaxsh \$f18,\$f19,\$f20 -.*: 4b97b548 pmaxub \$f21,\$f22,\$f23 -.*: 4b7ace08 pminsh \$f24,\$f25,\$f26 -.*: 4bbde6c8 pminub \$f27,\$f28,\$f29 -.*: 4ba0080f pmovmskb \$f0,\$f1 -.*: 4ba4188a pmulhuh \$f2,\$f3,\$f4 -.*: 4b67314a pmulhh \$f5,\$f6,\$f7 -.*: 4b4a4a0a pmullh \$f8,\$f9,\$f10 -.*: 4b8d62ca pmuluw \$f11,\$f12,\$f13 -.*: 4b307b8d pasubub \$f14,\$f15,\$f16 -.*: 4b80944f biadd \$f17,\$f18 -.*: 4b15a4c2 pshufh \$f19,\$f20,\$f21 -.*: 4b38bd8a psllh \$f22,\$f23,\$f24 -.*: 4b1bd64a psllw \$f25,\$f26,\$f27 -.*: 4b7eef0b psrah \$f28,\$f29,\$f30 -.*: 4b42080b psraw \$f0,\$f1,\$f2 -.*: 4b2520cb psrlh \$f3,\$f4,\$f5 -.*: 4b08398b psrlw \$f6,\$f7,\$f8 -.*: 4bcb5241 psubb \$f9,\$f10,\$f11 -.*: 4b4e6b01 psubh \$f12,\$f13,\$f14 -.*: 4b7183c1 psubw \$f15,\$f16,\$f17 -.*: 4bf49c81 psubd \$f18,\$f19,\$f20 -.*: 4b97b541 psubsb \$f21,\$f22,\$f23 -.*: 4b1ace01 psubsh \$f24,\$f25,\$f26 -.*: 4bbde6c1 psubusb \$f27,\$f28,\$f29 -.*: 4b220801 psubush \$f0,\$f1,\$f2 -.*: 4b6520c3 punpckhbh \$f3,\$f4,\$f5 -.*: 4b283983 punpckhhw \$f6,\$f7,\$f8 -.*: 4bab524b punpckhwd \$f9,\$f10,\$f11 -.*: 4b4e6b03 punpcklbh \$f12,\$f13,\$f14 -.*: 4b1183c3 punpcklhw \$f15,\$f16,\$f17 -.*: 4b949c8b punpcklwd \$f18,\$f19,\$f20 - -[0-9a-f]+ <fixed_point_insns>: -.*: 4b42080c add \$f0,\$f1,\$f2 -.*: 4b0520cc addu \$f3,\$f4,\$f5 -.*: 4b68398c dadd \$f6,\$f7,\$f8 -.*: 4b4b524d sub \$f9,\$f10,\$f11 -.*: 4b0e6b0d subu \$f12,\$f13,\$f14 -.*: 4b7183cd dsub \$f15,\$f16,\$f17 -.*: 4b349c8c or \$f18,\$f19,\$f20 -.*: 4b17b54e sll \$f21,\$f22,\$f23 -.*: 4b3ace0e dsll \$f24,\$f25,\$f26 -.*: 4b9de6c2 xor \$f27,\$f28,\$f29 -.*: 4ba20802 nor \$f0,\$f1,\$f2 -.*: 4bc520c2 and \$f3,\$f4,\$f5 -.*: 4b08398f srl \$f6,\$f7,\$f8 -.*: 4b2b524f dsrl \$f9,\$f10,\$f11 -.*: 4b4e6b0f sra \$f12,\$f13,\$f14 -.*: 4b7183cf dsra \$f15,\$f16,\$f17 -.*: 4b93900c sequ \$f18,\$f19 -.*: 4b95a00d sltu \$f20,\$f21 -.*: 4b97b00e sleu \$f22,\$f23 -.*: 4bb9c00c seq \$f24,\$f25 -.*: 4bbbd00d slt \$f26,\$f27 -.*: 4bbde00e sle \$f28,\$f29 - -000001ac <mips5_ps_insns>: +[0-9a-f]+ <mips5_ps_insns>: .*: 46c01005 abs.ps \$f0,\$f2 .*: 46c62080 add.ps \$f2,\$f4,\$f6 .*: 46ca4032 c.eq.ps \$f8,\$f10 diff --git a/gas/testsuite/gas/mips/loongson-2f.s b/gas/testsuite/gas/mips/loongson-2f.s index 2db07ee..9f71e57 100644 --- a/gas/testsuite/gas/mips/loongson-2f.s +++ b/gas/testsuite/gas/mips/loongson-2f.s @@ -34,90 +34,6 @@ fpu_insns: nmsub.d $f0, $f1, $f2 nmsub.ps $f3, $f4, $f5 -simd_insns: - packsshb $f0, $f1, $f2 - packsswh $f3, $f4, $f5 - packushb $f6, $f7, $f8 - paddb $f9, $f10, $f11 - paddh $f12, $f13, $f14 - paddw $f15, $f16, $f17 - paddd $f18, $f19, $f20 - paddsb $f21, $f22, $f23 - paddsh $f24, $f25, $f26 - paddusb $f27, $f28, $f29 - paddush $f0, $f1, $f2 - pandn $f3, $f4, $f5 - pavgb $f6, $f7, $f8 - pavgh $f9, $f10, $f11 - pcmpeqb $f12, $f13, $f14 - pcmpeqh $f15, $f16, $f17 - pcmpeqw $f18, $f19, $f20 - pcmpgtb $f21, $f22, $f23 - pcmpgth $f24, $f25, $f26 - pcmpgtw $f27, $f28, $f29 - pextrh $f0, $f1, $f2 - pinsrh_0 $f3, $f4, $f5 - pinsrh_1 $f6, $f7, $f8 - pinsrh_2 $f9, $f10, $f11 - pinsrh_3 $f12, $f13, $f14 - pmaddhw $f15, $f16, $f17 - pmaxsh $f18, $f19, $f20 - pmaxub $f21, $f22, $f23 - pminsh $f24, $f25, $f26 - pminub $f27, $f28, $f29 - pmovmskb $f0, $f1 - pmulhuh $f2, $f3, $f4 - pmulhh $f5, $f6, $f7 - pmullh $f8, $f9, $f10 - pmuluw $f11, $f12, $f13 - pasubub $f14, $f15, $f16 - biadd $f17, $f18 - pshufh $f19, $f20, $f21 - psllh $f22, $f23, $f24 - psllw $f25, $f26, $f27 - psrah $f28, $f29, $f30 - psraw $f0, $f1, $f2 - psrlh $f3, $f4, $f5 - psrlw $f6, $f7, $f8 - psubb $f9, $f10, $f11 - psubh $f12, $f13, $f14 - psubw $f15, $f16, $f17 - psubd $f18, $f19, $f20 - psubsb $f21, $f22, $f23 - psubsh $f24, $f25, $f26 - psubusb $f27, $f28, $f29 - psubush $f0, $f1, $f2 - punpckhbh $f3, $f4, $f5 - punpckhhw $f6, $f7, $f8 - punpckhwd $f9, $f10, $f11 - punpcklbh $f12, $f13, $f14 - punpcklhw $f15, $f16, $f17 - punpcklwd $f18, $f19, $f20 - -fixed_point_insns: - add $f0, $f1, $f2 - addu $f3, $f4, $f5 - dadd $f6, $f7, $f8 - sub $f9, $f10, $f11 - subu $f12, $f13, $f14 - dsub $f15, $f16, $f17 - or $f18, $f19, $f20 - sll $f21, $f22, $f23 - dsll $f24, $f25, $f26 - xor $f27, $f28, $f29 - nor $f0, $f1, $f2 - and $f3, $f4, $f5 - srl $f6, $f7, $f8 - dsrl $f9, $f10, $f11 - sra $f12, $f13, $f14 - dsra $f15, $f16, $f17 - sequ $f18, $f19 - sltu $f20, $f21 - sleu $f22, $f23 - seq $f24, $f25 - slt $f26, $f27 - sle $f28, $f29 - mips5_ps_insns: abs.ps $f0, $f2 add.ps $f2, $f4, $f6 diff --git a/gas/testsuite/gas/mips/loongson-3a-mmi.d b/gas/testsuite/gas/mips/loongson-3a-mmi.d new file mode 100644 index 0000000..de69d3e --- /dev/null +++ b/gas/testsuite/gas/mips/loongson-3a-mmi.d @@ -0,0 +1,106 @@ +#as: -march=loongson3a -mabi=o64 +#objdump: -M reg-names=numeric -dp +#name: Loongson-3A MMI tests + +.*: file format .* + +private flags = .* + +MIPS ABI Flags Version: 0 +ISA: .* +GPR size: .* +CPR1 size: .* +CPR2 size: .* +FP ABI: .* +ISA Extension: Loongson 3A +ASEs: + Loongson MMI ASE +FLAGS 1: .* +FLAGS 2: .* + +Disassembly of section .text: + +[0-9a-f]+ <simd_insns>: +.*: 4b420802 packsshb \$f0,\$f1,\$f2 +.*: 4b2520c2 packsswh \$f3,\$f4,\$f5 +.*: 4b683982 packushb \$f6,\$f7,\$f8 +.*: 4bcb5240 paddb \$f9,\$f10,\$f11 +.*: 4b4e6b00 paddh \$f12,\$f13,\$f14 +.*: 4b7183c0 paddw \$f15,\$f16,\$f17 +.*: 4bf49c80 paddd \$f18,\$f19,\$f20 +.*: 4b97b540 paddsb \$f21,\$f22,\$f23 +.*: 4b1ace00 paddsh \$f24,\$f25,\$f26 +.*: 4bbde6c0 paddusb \$f27,\$f28,\$f29 +.*: 4b220800 paddush \$f0,\$f1,\$f2 +.*: 4be520c2 pandn \$f3,\$f4,\$f5 +.*: 4b283988 pavgb \$f6,\$f7,\$f8 +.*: 4b0b5248 pavgh \$f9,\$f10,\$f11 +.*: 4b8e6b09 pcmpeqb \$f12,\$f13,\$f14 +.*: 4b5183c9 pcmpeqh \$f15,\$f16,\$f17 +.*: 4b149c89 pcmpeqw \$f18,\$f19,\$f20 +.*: 4bb7b549 pcmpgtb \$f21,\$f22,\$f23 +.*: 4b7ace09 pcmpgth \$f24,\$f25,\$f26 +.*: 4b3de6c9 pcmpgtw \$f27,\$f28,\$f29 +.*: 4b42080e pextrh \$f0,\$f1,\$f2 +.*: 4b8520c3 pinsrh_0 \$f3,\$f4,\$f5 +.*: 4ba83983 pinsrh_1 \$f6,\$f7,\$f8 +.*: 4bcb5243 pinsrh_2 \$f9,\$f10,\$f11 +.*: 4bee6b03 pinsrh_3 \$f12,\$f13,\$f14 +.*: 4b7183ce pmaddhw \$f15,\$f16,\$f17 +.*: 4b549c88 pmaxsh \$f18,\$f19,\$f20 +.*: 4b97b548 pmaxub \$f21,\$f22,\$f23 +.*: 4b7ace08 pminsh \$f24,\$f25,\$f26 +.*: 4bbde6c8 pminub \$f27,\$f28,\$f29 +.*: 4ba0080f pmovmskb \$f0,\$f1 +.*: 4ba4188a pmulhuh \$f2,\$f3,\$f4 +.*: 4b67314a pmulhh \$f5,\$f6,\$f7 +.*: 4b4a4a0a pmullh \$f8,\$f9,\$f10 +.*: 4b8d62ca pmuluw \$f11,\$f12,\$f13 +.*: 4b307b8d pasubub \$f14,\$f15,\$f16 +.*: 4b80944f biadd \$f17,\$f18 +.*: 4b15a4c2 pshufh \$f19,\$f20,\$f21 +.*: 4b38bd8a psllh \$f22,\$f23,\$f24 +.*: 4b1bd64a psllw \$f25,\$f26,\$f27 +.*: 4b7eef0b psrah \$f28,\$f29,\$f30 +.*: 4b42080b psraw \$f0,\$f1,\$f2 +.*: 4b2520cb psrlh \$f3,\$f4,\$f5 +.*: 4b08398b psrlw \$f6,\$f7,\$f8 +.*: 4bcb5241 psubb \$f9,\$f10,\$f11 +.*: 4b4e6b01 psubh \$f12,\$f13,\$f14 +.*: 4b7183c1 psubw \$f15,\$f16,\$f17 +.*: 4bf49c81 psubd \$f18,\$f19,\$f20 +.*: 4b97b541 psubsb \$f21,\$f22,\$f23 +.*: 4b1ace01 psubsh \$f24,\$f25,\$f26 +.*: 4bbde6c1 psubusb \$f27,\$f28,\$f29 +.*: 4b220801 psubush \$f0,\$f1,\$f2 +.*: 4b6520c3 punpckhbh \$f3,\$f4,\$f5 +.*: 4b283983 punpckhhw \$f6,\$f7,\$f8 +.*: 4bab524b punpckhwd \$f9,\$f10,\$f11 +.*: 4b4e6b03 punpcklbh \$f12,\$f13,\$f14 +.*: 4b1183c3 punpcklhw \$f15,\$f16,\$f17 +.*: 4b949c8b punpcklwd \$f18,\$f19,\$f20 + +[0-9a-f]+ <fixed_point_insns>: +.*: 4b42080c add \$f0,\$f1,\$f2 +.*: 4b0520cc addu \$f3,\$f4,\$f5 +.*: 4b68398c dadd \$f6,\$f7,\$f8 +.*: 4b4b524d sub \$f9,\$f10,\$f11 +.*: 4b0e6b0d subu \$f12,\$f13,\$f14 +.*: 4b7183cd dsub \$f15,\$f16,\$f17 +.*: 4b349c8c or \$f18,\$f19,\$f20 +.*: 4b17b54e sll \$f21,\$f22,\$f23 +.*: 4b3ace0e dsll \$f24,\$f25,\$f26 +.*: 4b9de6c2 xor \$f27,\$f28,\$f29 +.*: 4ba20802 nor \$f0,\$f1,\$f2 +.*: 4bc520c2 and \$f3,\$f4,\$f5 +.*: 4b08398f srl \$f6,\$f7,\$f8 +.*: 4b2b524f dsrl \$f9,\$f10,\$f11 +.*: 4b4e6b0f sra \$f12,\$f13,\$f14 +.*: 4b7183cf dsra \$f15,\$f16,\$f17 +.*: 4b93900c sequ \$f18,\$f19 +.*: 4b95a00d sltu \$f20,\$f21 +.*: 4b97b00e sleu \$f22,\$f23 +.*: 4bb9c00c seq \$f24,\$f25 +.*: 4bbbd00d slt \$f26,\$f27 +.*: 4bbde00e sle \$f28,\$f29 +#pass diff --git a/gas/testsuite/gas/mips/loongson-3a-mmi.s b/gas/testsuite/gas/mips/loongson-3a-mmi.s new file mode 100644 index 0000000..e87d66e --- /dev/null +++ b/gas/testsuite/gas/mips/loongson-3a-mmi.s @@ -0,0 +1,86 @@ + .text + .set noreorder + +simd_insns: + packsshb $f0, $f1, $f2 + packsswh $f3, $f4, $f5 + packushb $f6, $f7, $f8 + paddb $f9, $f10, $f11 + paddh $f12, $f13, $f14 + paddw $f15, $f16, $f17 + paddd $f18, $f19, $f20 + paddsb $f21, $f22, $f23 + paddsh $f24, $f25, $f26 + paddusb $f27, $f28, $f29 + paddush $f0, $f1, $f2 + pandn $f3, $f4, $f5 + pavgb $f6, $f7, $f8 + pavgh $f9, $f10, $f11 + pcmpeqb $f12, $f13, $f14 + pcmpeqh $f15, $f16, $f17 + pcmpeqw $f18, $f19, $f20 + pcmpgtb $f21, $f22, $f23 + pcmpgth $f24, $f25, $f26 + pcmpgtw $f27, $f28, $f29 + pextrh $f0, $f1, $f2 + pinsrh_0 $f3, $f4, $f5 + pinsrh_1 $f6, $f7, $f8 + pinsrh_2 $f9, $f10, $f11 + pinsrh_3 $f12, $f13, $f14 + pmaddhw $f15, $f16, $f17 + pmaxsh $f18, $f19, $f20 + pmaxub $f21, $f22, $f23 + pminsh $f24, $f25, $f26 + pminub $f27, $f28, $f29 + pmovmskb $f0, $f1 + pmulhuh $f2, $f3, $f4 + pmulhh $f5, $f6, $f7 + pmullh $f8, $f9, $f10 + pmuluw $f11, $f12, $f13 + pasubub $f14, $f15, $f16 + biadd $f17, $f18 + pshufh $f19, $f20, $f21 + psllh $f22, $f23, $f24 + psllw $f25, $f26, $f27 + psrah $f28, $f29, $f30 + psraw $f0, $f1, $f2 + psrlh $f3, $f4, $f5 + psrlw $f6, $f7, $f8 + psubb $f9, $f10, $f11 + psubh $f12, $f13, $f14 + psubw $f15, $f16, $f17 + psubd $f18, $f19, $f20 + psubsb $f21, $f22, $f23 + psubsh $f24, $f25, $f26 + psubusb $f27, $f28, $f29 + psubush $f0, $f1, $f2 + punpckhbh $f3, $f4, $f5 + punpckhhw $f6, $f7, $f8 + punpckhwd $f9, $f10, $f11 + punpcklbh $f12, $f13, $f14 + punpcklhw $f15, $f16, $f17 + punpcklwd $f18, $f19, $f20 + +fixed_point_insns: + add $f0, $f1, $f2 + addu $f3, $f4, $f5 + dadd $f6, $f7, $f8 + sub $f9, $f10, $f11 + subu $f12, $f13, $f14 + dsub $f15, $f16, $f17 + or $f18, $f19, $f20 + sll $f21, $f22, $f23 + dsll $f24, $f25, $f26 + xor $f27, $f28, $f29 + nor $f0, $f1, $f2 + and $f3, $f4, $f5 + srl $f6, $f7, $f8 + dsrl $f9, $f10, $f11 + sra $f12, $f13, $f14 + dsra $f15, $f16, $f17 + sequ $f18, $f19 + sltu $f20, $f21 + sleu $f22, $f23 + seq $f24, $f25 + slt $f26, $f27 + sle $f28, $f29 diff --git a/gas/testsuite/gas/mips/loongson-3a.d b/gas/testsuite/gas/mips/loongson-3a.d index 4839ff7..108c82d 100644 --- a/gas/testsuite/gas/mips/loongson-3a.d +++ b/gas/testsuite/gas/mips/loongson-3a.d @@ -22,88 +22,4 @@ Disassembly of section .text: .*: 73dfe81e gsmodu \$29,\$30,\$31 .*: 7064101d gsdmod \$2,\$3,\$4 .*: 70c7281f gsdmodu \$5,\$6,\$7 - -[0-9a-f]+ <simd_insns>: -.*: 4b420802 packsshb \$f0,\$f1,\$f2 -.*: 4b2520c2 packsswh \$f3,\$f4,\$f5 -.*: 4b683982 packushb \$f6,\$f7,\$f8 -.*: 4bcb5240 paddb \$f9,\$f10,\$f11 -.*: 4b4e6b00 paddh \$f12,\$f13,\$f14 -.*: 4b7183c0 paddw \$f15,\$f16,\$f17 -.*: 4bf49c80 paddd \$f18,\$f19,\$f20 -.*: 4b97b540 paddsb \$f21,\$f22,\$f23 -.*: 4b1ace00 paddsh \$f24,\$f25,\$f26 -.*: 4bbde6c0 paddusb \$f27,\$f28,\$f29 -.*: 4b220800 paddush \$f0,\$f1,\$f2 -.*: 4be520c2 pandn \$f3,\$f4,\$f5 -.*: 4b283988 pavgb \$f6,\$f7,\$f8 -.*: 4b0b5248 pavgh \$f9,\$f10,\$f11 -.*: 4b8e6b09 pcmpeqb \$f12,\$f13,\$f14 -.*: 4b5183c9 pcmpeqh \$f15,\$f16,\$f17 -.*: 4b149c89 pcmpeqw \$f18,\$f19,\$f20 -.*: 4bb7b549 pcmpgtb \$f21,\$f22,\$f23 -.*: 4b7ace09 pcmpgth \$f24,\$f25,\$f26 -.*: 4b3de6c9 pcmpgtw \$f27,\$f28,\$f29 -.*: 4b42080e pextrh \$f0,\$f1,\$f2 -.*: 4b8520c3 pinsrh_0 \$f3,\$f4,\$f5 -.*: 4ba83983 pinsrh_1 \$f6,\$f7,\$f8 -.*: 4bcb5243 pinsrh_2 \$f9,\$f10,\$f11 -.*: 4bee6b03 pinsrh_3 \$f12,\$f13,\$f14 -.*: 4b7183ce pmaddhw \$f15,\$f16,\$f17 -.*: 4b549c88 pmaxsh \$f18,\$f19,\$f20 -.*: 4b97b548 pmaxub \$f21,\$f22,\$f23 -.*: 4b7ace08 pminsh \$f24,\$f25,\$f26 -.*: 4bbde6c8 pminub \$f27,\$f28,\$f29 -.*: 4ba0080f pmovmskb \$f0,\$f1 -.*: 4ba4188a pmulhuh \$f2,\$f3,\$f4 -.*: 4b67314a pmulhh \$f5,\$f6,\$f7 -.*: 4b4a4a0a pmullh \$f8,\$f9,\$f10 -.*: 4b8d62ca pmuluw \$f11,\$f12,\$f13 -.*: 4b307b8d pasubub \$f14,\$f15,\$f16 -.*: 4b80944f biadd \$f17,\$f18 -.*: 4b15a4c2 pshufh \$f19,\$f20,\$f21 -.*: 4b38bd8a psllh \$f22,\$f23,\$f24 -.*: 4b1bd64a psllw \$f25,\$f26,\$f27 -.*: 4b7eef0b psrah \$f28,\$f29,\$f30 -.*: 4b42080b psraw \$f0,\$f1,\$f2 -.*: 4b2520cb psrlh \$f3,\$f4,\$f5 -.*: 4b08398b psrlw \$f6,\$f7,\$f8 -.*: 4bcb5241 psubb \$f9,\$f10,\$f11 -.*: 4b4e6b01 psubh \$f12,\$f13,\$f14 -.*: 4b7183c1 psubw \$f15,\$f16,\$f17 -.*: 4bf49c81 psubd \$f18,\$f19,\$f20 -.*: 4b97b541 psubsb \$f21,\$f22,\$f23 -.*: 4b1ace01 psubsh \$f24,\$f25,\$f26 -.*: 4bbde6c1 psubusb \$f27,\$f28,\$f29 -.*: 4b220801 psubush \$f0,\$f1,\$f2 -.*: 4b6520c3 punpckhbh \$f3,\$f4,\$f5 -.*: 4b283983 punpckhhw \$f6,\$f7,\$f8 -.*: 4bab524b punpckhwd \$f9,\$f10,\$f11 -.*: 4b4e6b03 punpcklbh \$f12,\$f13,\$f14 -.*: 4b1183c3 punpcklhw \$f15,\$f16,\$f17 -.*: 4b949c8b punpcklwd \$f18,\$f19,\$f20 - -[0-9a-f]+ <fixed_point_insns>: -.*: 4b42080c add \$f0,\$f1,\$f2 -.*: 4b0520cc addu \$f3,\$f4,\$f5 -.*: 4b68398c dadd \$f6,\$f7,\$f8 -.*: 4b4b524d sub \$f9,\$f10,\$f11 -.*: 4b0e6b0d subu \$f12,\$f13,\$f14 -.*: 4b7183cd dsub \$f15,\$f16,\$f17 -.*: 4b349c8c or \$f18,\$f19,\$f20 -.*: 4b17b54e sll \$f21,\$f22,\$f23 -.*: 4b3ace0e dsll \$f24,\$f25,\$f26 -.*: 4b9de6c2 xor \$f27,\$f28,\$f29 -.*: 4ba20802 nor \$f0,\$f1,\$f2 -.*: 4bc520c2 and \$f3,\$f4,\$f5 -.*: 4b08398f srl \$f6,\$f7,\$f8 -.*: 4b2b524f dsrl \$f9,\$f10,\$f11 -.*: 4b4e6b0f sra \$f12,\$f13,\$f14 -.*: 4b7183cf dsra \$f15,\$f16,\$f17 -.*: 4b93900c sequ \$f18,\$f19 -.*: 4b95a00d sltu \$f20,\$f21 -.*: 4b97b00e sleu \$f22,\$f23 -.*: 4bb9c00c seq \$f24,\$f25 -.*: 4bbbd00d slt \$f26,\$f27 -.*: 4bbde00e sle \$f28,\$f29 #pass diff --git a/gas/testsuite/gas/mips/loongson-3a.s b/gas/testsuite/gas/mips/loongson-3a.s index 0a0f71a..2babb4e 100644 --- a/gas/testsuite/gas/mips/loongson-3a.s +++ b/gas/testsuite/gas/mips/loongson-3a.s @@ -17,87 +17,3 @@ integer_insns: gsmodu $29, $30, $31 gsdmod $2, $3, $4 gsdmodu $5, $6, $7 - -simd_insns: - packsshb $f0, $f1, $f2 - packsswh $f3, $f4, $f5 - packushb $f6, $f7, $f8 - paddb $f9, $f10, $f11 - paddh $f12, $f13, $f14 - paddw $f15, $f16, $f17 - paddd $f18, $f19, $f20 - paddsb $f21, $f22, $f23 - paddsh $f24, $f25, $f26 - paddusb $f27, $f28, $f29 - paddush $f0, $f1, $f2 - pandn $f3, $f4, $f5 - pavgb $f6, $f7, $f8 - pavgh $f9, $f10, $f11 - pcmpeqb $f12, $f13, $f14 - pcmpeqh $f15, $f16, $f17 - pcmpeqw $f18, $f19, $f20 - pcmpgtb $f21, $f22, $f23 - pcmpgth $f24, $f25, $f26 - pcmpgtw $f27, $f28, $f29 - pextrh $f0, $f1, $f2 - pinsrh_0 $f3, $f4, $f5 - pinsrh_1 $f6, $f7, $f8 - pinsrh_2 $f9, $f10, $f11 - pinsrh_3 $f12, $f13, $f14 - pmaddhw $f15, $f16, $f17 - pmaxsh $f18, $f19, $f20 - pmaxub $f21, $f22, $f23 - pminsh $f24, $f25, $f26 - pminub $f27, $f28, $f29 - pmovmskb $f0, $f1 - pmulhuh $f2, $f3, $f4 - pmulhh $f5, $f6, $f7 - pmullh $f8, $f9, $f10 - pmuluw $f11, $f12, $f13 - pasubub $f14, $f15, $f16 - biadd $f17, $f18 - pshufh $f19, $f20, $f21 - psllh $f22, $f23, $f24 - psllw $f25, $f26, $f27 - psrah $f28, $f29, $f30 - psraw $f0, $f1, $f2 - psrlh $f3, $f4, $f5 - psrlw $f6, $f7, $f8 - psubb $f9, $f10, $f11 - psubh $f12, $f13, $f14 - psubw $f15, $f16, $f17 - psubd $f18, $f19, $f20 - psubsb $f21, $f22, $f23 - psubsh $f24, $f25, $f26 - psubusb $f27, $f28, $f29 - psubush $f0, $f1, $f2 - punpckhbh $f3, $f4, $f5 - punpckhhw $f6, $f7, $f8 - punpckhwd $f9, $f10, $f11 - punpcklbh $f12, $f13, $f14 - punpcklhw $f15, $f16, $f17 - punpcklwd $f18, $f19, $f20 - -fixed_point_insns: - add $f0, $f1, $f2 - addu $f3, $f4, $f5 - dadd $f6, $f7, $f8 - sub $f9, $f10, $f11 - subu $f12, $f13, $f14 - dsub $f15, $f16, $f17 - or $f18, $f19, $f20 - sll $f21, $f22, $f23 - dsll $f24, $f25, $f26 - xor $f27, $f28, $f29 - nor $f0, $f1, $f2 - and $f3, $f4, $f5 - srl $f6, $f7, $f8 - dsrl $f9, $f10, $f11 - sra $f12, $f13, $f14 - dsra $f15, $f16, $f17 - sequ $f18, $f19 - sltu $f20, $f21 - sleu $f22, $f23 - seq $f24, $f25 - slt $f26, $f27 - sle $f28, $f29 diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 78969ff..ad371e1 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1391,6 +1391,9 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "loongson-3a-2" run_dump_test "loongson-3a-3" + run_dump_test "loongson-2f-mmi" + run_dump_test "loongson-3a-mmi" + if { $has_newabi } { run_dump_test_arches "octeon" [mips_arch_list_matching octeon] } |