[binutils-gdb/binutils-2_35-branch] Prioritise mtfprd and mtvrd over mtvsrd in PowerPC disassembly

Alan Modra amodra@sourceware.org
Thu Sep 24 02:45:19 GMT 2020


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=904570fe6c56165183b07da6a3625538f56b0ccc

commit 904570fe6c56165183b07da6a3625538f56b0ccc
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Aug 10 15:07:33 2020 +0930

    Prioritise mtfprd and mtvrd over mtvsrd in PowerPC disassembly
    
    gas/
            * testsuite/gas/ppc/power8.d: Update.
            * testsuite/gas/ppc/vsx2.d: Update.
    opcodes/
            * ppc-opc.c (powerpc_opcodes): Prioritise mtfprd and mtvrd over
            mtvsrd, and similarly for mfvsrd.
    
    (cherry picked from commit 5fbec329ec3b21fab7e06cd1e4bf7068332a876c)

Diff:
---
 gas/ChangeLog                  |   4 +
 gas/testsuite/gas/ppc/power8.d | 290 ++++++++++++++++++++---------------------
 gas/testsuite/gas/ppc/vsx2.d   | 110 ++++++++--------
 opcodes/ChangeLog              |   7 +
 opcodes/ppc-opc.c              |   4 +-
 5 files changed, 213 insertions(+), 202 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 77b38a1cba5..0062d877bd2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,6 +1,10 @@
 2020-09-24  Alan Modra  <amodra@gmail.com>
 
 	Apply from master
+	2020-08-10  Alan Modra  <amodra@gmail.com>
+	* testsuite/gas/ppc/power8.d: Update.
+	* testsuite/gas/ppc/vsx2.d: Update.
+
 	2020-08-10  Alan Modra  <amodra@gmail.com>
 	* config/tc-ppc.c (md_assemble): Error for lmw, stmw, lswi, lswx,
 	stswi, or stswx in little-endian mode.
diff --git a/gas/testsuite/gas/ppc/power8.d b/gas/testsuite/gas/ppc/power8.d
index dfd3345461d..1439496462d 100644
--- a/gas/testsuite/gas/ppc/power8.d
+++ b/gas/testsuite/gas/ppc/power8.d
@@ -7,151 +7,151 @@
 Disassembly of section \.text:
 
 0+00 <power8>:
-   0:	(7c 05 07 1d|1d 07 05 7c) 	tabort\. r5
-   4:	(7c e8 86 1d|1d 86 e8 7c) 	tabortwc\. 7,r8,r16
-   8:	(7e 8b 56 5d|5d 56 8b 7e) 	tabortdc\. 20,r11,r10
-   c:	(7e 2a 9e 9d|9d 9e 2a 7e) 	tabortwci\. 17,r10,-13
-  10:	(7f a3 de dd|dd de a3 7f) 	tabortdci\. 29,r3,-5
-  14:	(7c 00 05 1d|1d 05 00 7c) 	tbegin\.
-  18:	(7f 80 05 9c|9c 05 80 7f) 	tcheck  cr7
-  1c:	(7c 00 05 5d|5d 05 00 7c) 	tend\.
-  20:	(7c 00 05 5d|5d 05 00 7c) 	tend\.
-  24:	(7e 00 05 5d|5d 05 00 7e) 	tendall\.
-  28:	(7e 00 05 5d|5d 05 00 7e) 	tendall\.
-  2c:	(7c 18 07 5d|5d 07 18 7c) 	treclaim\. r24
-  30:	(7c 00 07 dd|dd 07 00 7c) 	trechkpt\.
-  34:	(7c 00 05 dd|dd 05 00 7c) 	tsuspend\.
-  38:	(7c 00 05 dd|dd 05 00 7c) 	tsuspend\.
-  3c:	(7c 20 05 dd|dd 05 20 7c) 	tresume\.
-  40:	(7c 20 05 dd|dd 05 20 7c) 	tresume\.
-  44:	(60 42 00 00|00 00 42 60) 	ori     r2,r2,0
-  48:	(60 00 00 00|00 00 00 60) 	nop
-  4c:	(60 42 00 00|00 00 42 60) 	ori     r2,r2,0
-  50:	(4c 00 01 24|24 01 00 4c) 	rfebb   0
-  54:	(4c 00 09 24|24 09 00 4c) 	rfebb
-  58:	(4c 00 09 24|24 09 00 4c) 	rfebb
-  5c:	(4d d5 04 60|60 04 d5 4d) 	bgttar- cr5
-  60:	(4c c7 04 61|61 04 c7 4c) 	bnstarl- cr1
-  64:	(4d ec 04 60|60 04 ec 4d) 	blttar\+ cr3
-  68:	(4c e2 04 61|61 04 e2 4c) 	bnetarl\+
-  6c:	(4c 88 0c 60|60 0c 88 4c) 	bctar   4,4\*cr2\+lt,1
-  70:	(4c 87 14 61|61 14 87 4c) 	bctarl  4,4\*cr1\+so,2
-  74:	(7c 00 00 3c|3c 00 00 7c) 	waitasec
-  78:	(7c 00 41 1c|1c 41 00 7c) 	msgsndp r8
-  7c:	(7c 20 01 26|26 01 20 7c) 	mtsle   1
-  80:	(7c 00 d9 5c|5c d9 00 7c) 	msgclrp r27
-  84:	(7d 4a 61 6d|6d 61 4a 7d) 	stqcx\.  r10,r10,r12
-  88:	(7f 80 39 6d|6d 39 80 7f) 	stqcx\.  r28,0,r7
-  8c:	(7f 13 5a 28|28 5a 13 7f) 	lqarx   r24,r19,r11
-  90:	(7e c0 5a 28|28 5a c0 7e) 	lqarx   r22,0,r11
-  94:	(7e 80 32 5c|5c 32 80 7e) 	mfbhrbe r20,6
-  98:	(7f b1 83 29|29 83 b1 7f) 	pbt\.    r29,r17,r16
-  9c:	(7d c0 3b 29|29 3b c0 7d) 	pbt\.    r14,0,r7
-  a0:	(7c 00 03 5c|5c 03 00 7c) 	clrbhrb
-  a4:	(11 6a 05 ed|ed 05 6a 11) 	vpermxor v11,v10,v0,v23
-  a8:	(13 02 39 3c|3c 39 02 13) 	vaddeuqm v24,v2,v7,v4
-  ac:	(11 4a 40 bd|bd 40 4a 11) 	vaddecuq v10,v10,v8,v2
-  b0:	(10 af 44 fe|fe 44 af 10) 	vsubeuqm v5,v15,v8,v19
-  b4:	(11 9f 87 7f|7f 87 9f 11) 	vsubecuq v12,v31,v16,v29
-  b8:	(12 9d 68 88|88 68 9d 12) 	vmulouw v20,v29,v13
-  bc:	(13 a0 d0 89|89 d0 a0 13) 	vmuluwm v29,v0,v26
-  c0:	(11 15 e0 c0|c0 e0 15 11) 	vaddudm v8,v21,v28
-  c4:	(10 3a 08 c2|c2 08 3a 10) 	vmaxud  v1,v26,v1
-  c8:	(12 83 08 c4|c4 08 83 12) 	vrld    v20,v3,v1
-  cc:	(10 93 58 c7|c7 58 93 10) 	vcmpequd v4,v19,v11
-  d0:	(12 ee f1 00|00 f1 ee 12) 	vadduqm v23,v14,v30
-  d4:	(11 08 69 40|40 69 08 11) 	vaddcuq v8,v8,v13
-  d8:	(13 9b 21 88|88 21 9b 13) 	vmulosw v28,v27,v4
-  dc:	(10 64 21 c2|c2 21 64 10) 	vmaxsd  v3,v4,v4
-  e0:	(10 13 aa 88|88 aa 13 10) 	vmuleuw v0,v19,v21
-  e4:	(13 14 9a c2|c2 9a 14 13) 	vminud  v24,v20,v19
-  e8:	(10 1c 7a c7|c7 7a 1c 10) 	vcmpgtud v0,v28,v15
-  ec:	(12 a0 13 88|88 13 a0 12) 	vmulesw v21,v0,v2
-  f0:	(11 3a 4b c2|c2 4b 3a 11) 	vminsd  v9,v26,v9
-  f4:	(13 3d 5b c4|c4 5b 3d 13) 	vsrad   v25,v29,v11
-  f8:	(11 7c 5b c7|c7 5b 7c 11) 	vcmpgtsd v11,v28,v11
-  fc:	(10 a8 d6 01|01 d6 a8 10) 	bcdadd\. v5,v8,v26,1
- 100:	(10 83 64 08|08 64 83 10) 	vpmsumb v4,v3,v12
- 104:	(13 5f ae 41|41 ae 5f 13) 	bcdsub\. v26,v31,v21,1
- 108:	(10 b1 84 48|48 84 b1 10) 	vpmsumh v5,v17,v16
- 10c:	(12 f1 a4 4e|4e a4 f1 12) 	vpkudum v23,v17,v20
- 110:	(13 15 ec 88|88 ec 15 13) 	vpmsumw v24,v21,v29
- 114:	(11 36 6c c8|c8 6c 36 11) 	vpmsumd v9,v22,v13
- 118:	(12 53 94 ce|ce 94 53 12) 	vpkudus v18,v19,v18
- 11c:	(13 d0 b5 00|00 b5 d0 13) 	vsubuqm v30,v16,v22
- 120:	(11 cb 3d 08|08 3d cb 11) 	vcipher v14,v11,v7
- 124:	(11 42 b5 09|09 b5 42 11) 	vcipherlast v10,v2,v22
- 128:	(12 e0 6d 0c|0c 6d e0 12) 	vgbbd   v23,v13
- 12c:	(12 19 85 40|40 85 19 12) 	vsubcuq v16,v25,v16
- 130:	(13 e1 2d 44|44 2d e1 13) 	vorc    v31,v1,v5
- 134:	(10 91 fd 48|48 fd 91 10) 	vncipher v4,v17,v31
- 138:	(13 02 dd 49|49 dd 02 13) 	vncipherlast v24,v2,v27
- 13c:	(12 f5 bd 4c|4c bd f5 12) 	vbpermq v23,v21,v23
- 140:	(13 72 4d 4e|4e 4d 72 13) 	vpksdus v27,v18,v9
- 144:	(13 7d dd 84|84 dd 7d 13) 	vnand   v27,v29,v27
- 148:	(12 73 c5 c4|c4 c5 73 12) 	vsld    v19,v19,v24
- 14c:	(10 ad 05 c8|c8 05 ad 10) 	vsbox   v5,v13
- 150:	(13 23 3d ce|ce 3d 23 13) 	vpksdss v25,v3,v7
- 154:	(13 88 04 c7|c7 04 88 13) 	vcmpequd\. v28,v8,v0
- 158:	(13 40 d6 4e|4e d6 40 13) 	vupkhsw v26,v26
- 15c:	(10 a7 36 82|82 36 a7 10) 	vshasigmaw v5,v7,0,6
- 160:	(13 95 76 84|84 76 95 13) 	veqv    v28,v21,v14
- 164:	(10 28 9e 8c|8c 9e 28 10) 	vmrgow  v1,v8,v19
- 168:	(10 0a 56 c2|c2 56 0a 10) 	vshasigmad v0,v10,0,10
- 16c:	(10 bb 76 c4|c4 76 bb 10) 	vsrd    v5,v27,v14
- 170:	(11 60 6e ce|ce 6e 60 11) 	vupklsw v11,v13
- 174:	(11 c0 87 02|02 87 c0 11) 	vclzb   v14,v16
- 178:	(12 80 df 03|03 df 80 12) 	vpopcntb v20,v27
- 17c:	(13 80 5f 42|42 5f 80 13) 	vclzh   v28,v11
- 180:	(13 00 4f 43|43 4f 00 13) 	vpopcnth v24,v9
- 184:	(13 60 ff 82|82 ff 60 13) 	vclzw   v27,v31
- 188:	(12 20 9f 83|83 9f 20 12) 	vpopcntw v17,v19
- 18c:	(11 80 ef c2|c2 ef 80 11) 	vclzd   v12,v29
- 190:	(12 e0 b7 c3|c3 b7 e0 12) 	vpopcntd v23,v22
- 194:	(13 14 ee c7|c7 ee 14 13) 	vcmpgtud\. v24,v20,v29
- 198:	(11 26 df c7|c7 df 26 11) 	vcmpgtsd\. v9,v6,v27
- 19c:	(7f ce d0 19|19 d0 ce 7f) 	lxsiwzx vs62,r14,r26
- 1a0:	(7d 00 c8 19|19 c8 00 7d) 	lxsiwzx vs40,0,r25
- 1a4:	(7f 20 d0 98|98 d0 20 7f) 	lxsiwax vs25,0,r26
- 1a8:	(7c 60 18 98|98 18 60 7c) 	lxsiwax vs3,0,r3
- 1ac:	(7f cc 00 67|67 00 cc 7f) 	mfvsrd  r12,vs62
- 1b0:	(7d 94 00 e6|e6 00 94 7d) 	mffprwz r20,f12
- 1b4:	(7d c9 71 18|18 71 c9 7d) 	stxsiwx vs14,r9,r14
- 1b8:	(7e a0 41 18|18 41 a0 7e) 	stxsiwx vs21,0,r8
- 1bc:	(7e 0b 01 67|67 01 0b 7e) 	mtvsrd  vs48,r11
- 1c0:	(7f f7 01 a7|a7 01 f7 7f) 	mtvrwa  v31,r23
- 1c4:	(7e 1a 01 e6|e6 01 1a 7e) 	mtfprwz f16,r26
- 1c8:	(7d b3 6c 18|18 6c b3 7d) 	lxsspx  vs13,r19,r13
- 1cc:	(7e 40 6c 18|18 6c 40 7e) 	lxsspx  vs18,0,r13
- 1d0:	(7d 62 25 19|19 25 62 7d) 	stxsspx vs43,r2,r4
- 1d4:	(7e e0 5d 19|19 5d e0 7e) 	stxsspx vs55,0,r11
- 1d8:	(f2 d0 c8 05|05 c8 d0 f2) 	xsaddsp vs54,vs48,vs25
- 1dc:	(f1 d2 08 0c|0c 08 d2 f1) 	xsmaddasp vs14,vs50,vs1
- 1e0:	(f3 56 50 42|42 50 56 f3) 	xssubsp vs26,vs22,vs42
- 1e4:	(f3 75 a0 4e|4e a0 75 f3) 	xsmaddmsp vs27,vs53,vs52
- 1e8:	(f1 00 d8 2a|2a d8 00 f1) 	xsrsqrtesp vs8,vs59
- 1ec:	(f1 80 48 2e|2e 48 80 f1) 	xssqrtsp vs12,vs41
- 1f0:	(f3 2b 00 83|83 00 2b f3) 	xsmulsp vs57,vs11,vs32
- 1f4:	(f0 d4 d0 89|89 d0 d4 f0) 	xsmsubasp vs38,vs20,vs26
- 1f8:	(f3 53 30 c0|c0 30 53 f3) 	xsdivsp vs26,vs19,vs6
- 1fc:	(f0 65 b8 cf|cf b8 65 f0) 	xsmsubmsp vs35,vs37,vs55
- 200:	(f3 60 40 69|69 40 60 f3) 	xsresp  vs59,vs8
- 204:	(f1 81 0c 0f|0f 0c 81 f1) 	xsnmaddasp vs44,vs33,vs33
- 208:	(f2 3e f4 4c|4c f4 3e f2) 	xsnmaddmsp vs17,vs62,vs30
- 20c:	(f2 d4 fc 8d|8d fc d4 f2) 	xsnmsubasp vs54,vs52,vs31
- 210:	(f0 a5 d4 cb|cb d4 a5 f0) 	xsnmsubmsp vs37,vs5,vs58
- 214:	(f3 d6 65 56|56 65 d6 f3) 	xxlorc  vs30,vs54,vs44
- 218:	(f2 2e ed 91|91 ed 2e f2) 	xxlnand vs49,vs14,vs29
- 21c:	(f3 d6 f5 d1|d1 f5 d6 f3) 	xxleqv  vs62,vs22,vs30
- 220:	(f3 80 b4 2f|2f b4 80 f3) 	xscvdpspn vs60,vs54
- 224:	(f2 c0 6c 66|66 6c c0 f2) 	xsrsp   vs22,vs45
- 228:	(f3 40 dc a2|a2 dc 40 f3) 	xscvuxdsp vs26,vs59
- 22c:	(f0 c0 8c e3|e3 8c c0 f0) 	xscvsxdsp vs38,vs49
- 230:	(f3 60 d5 2d|2d d5 60 f3) 	xscvspdpn vs59,vs26
- 234:	(ff 0e 16 8c|8c 16 0e ff) 	fmrgow  f24,f14,f2
- 238:	(fe c7 2f 8c|8c 2f c7 fe) 	fmrgew  f22,f7,f5
- 23c:	(7c 00 71 9c|9c 71 00 7c) 	msgsnd  r14
- 240:	(7c 00 b9 dc|dc b9 00 7c) 	msgclr  r23
+.*:	(7c 05 07 1d|1d 07 05 7c) 	tabort\. r5
+.*:	(7c e8 86 1d|1d 86 e8 7c) 	tabortwc\. 7,r8,r16
+.*:	(7e 8b 56 5d|5d 56 8b 7e) 	tabortdc\. 20,r11,r10
+.*:	(7e 2a 9e 9d|9d 9e 2a 7e) 	tabortwci\. 17,r10,-13
+.*:	(7f a3 de dd|dd de a3 7f) 	tabortdci\. 29,r3,-5
+.*:	(7c 00 05 1d|1d 05 00 7c) 	tbegin\.
+.*:	(7f 80 05 9c|9c 05 80 7f) 	tcheck  cr7
+.*:	(7c 00 05 5d|5d 05 00 7c) 	tend\.
+.*:	(7c 00 05 5d|5d 05 00 7c) 	tend\.
+.*:	(7e 00 05 5d|5d 05 00 7e) 	tendall\.
+.*:	(7e 00 05 5d|5d 05 00 7e) 	tendall\.
+.*:	(7c 18 07 5d|5d 07 18 7c) 	treclaim\. r24
+.*:	(7c 00 07 dd|dd 07 00 7c) 	trechkpt\.
+.*:	(7c 00 05 dd|dd 05 00 7c) 	tsuspend\.
+.*:	(7c 00 05 dd|dd 05 00 7c) 	tsuspend\.
+.*:	(7c 20 05 dd|dd 05 20 7c) 	tresume\.
+.*:	(7c 20 05 dd|dd 05 20 7c) 	tresume\.
+.*:	(60 42 00 00|00 00 42 60) 	ori     r2,r2,0
+.*:	(60 00 00 00|00 00 00 60) 	nop
+.*:	(60 42 00 00|00 00 42 60) 	ori     r2,r2,0
+.*:	(4c 00 01 24|24 01 00 4c) 	rfebb   0
+.*:	(4c 00 09 24|24 09 00 4c) 	rfebb
+.*:	(4c 00 09 24|24 09 00 4c) 	rfebb
+.*:	(4d d5 04 60|60 04 d5 4d) 	bgttar- cr5
+.*:	(4c c7 04 61|61 04 c7 4c) 	bnstarl- cr1
+.*:	(4d ec 04 60|60 04 ec 4d) 	blttar\+ cr3
+.*:	(4c e2 04 61|61 04 e2 4c) 	bnetarl\+
+.*:	(4c 88 0c 60|60 0c 88 4c) 	bctar   4,4\*cr2\+lt,1
+.*:	(4c 87 14 61|61 14 87 4c) 	bctarl  4,4\*cr1\+so,2
+.*:	(7c 00 00 3c|3c 00 00 7c) 	waitasec
+.*:	(7c 00 41 1c|1c 41 00 7c) 	msgsndp r8
+.*:	(7c 20 01 26|26 01 20 7c) 	mtsle   1
+.*:	(7c 00 d9 5c|5c d9 00 7c) 	msgclrp r27
+.*:	(7d 4a 61 6d|6d 61 4a 7d) 	stqcx\.  r10,r10,r12
+.*:	(7f 80 39 6d|6d 39 80 7f) 	stqcx\.  r28,0,r7
+.*:	(7f 13 5a 28|28 5a 13 7f) 	lqarx   r24,r19,r11
+.*:	(7e c0 5a 28|28 5a c0 7e) 	lqarx   r22,0,r11
+.*:	(7e 80 32 5c|5c 32 80 7e) 	mfbhrbe r20,6
+.*:	(7f b1 83 29|29 83 b1 7f) 	pbt\.    r29,r17,r16
+.*:	(7d c0 3b 29|29 3b c0 7d) 	pbt\.    r14,0,r7
+.*:	(7c 00 03 5c|5c 03 00 7c) 	clrbhrb
+.*:	(11 6a 05 ed|ed 05 6a 11) 	vpermxor v11,v10,v0,v23
+.*:	(13 02 39 3c|3c 39 02 13) 	vaddeuqm v24,v2,v7,v4
+.*:	(11 4a 40 bd|bd 40 4a 11) 	vaddecuq v10,v10,v8,v2
+.*:	(10 af 44 fe|fe 44 af 10) 	vsubeuqm v5,v15,v8,v19
+.*:	(11 9f 87 7f|7f 87 9f 11) 	vsubecuq v12,v31,v16,v29
+.*:	(12 9d 68 88|88 68 9d 12) 	vmulouw v20,v29,v13
+.*:	(13 a0 d0 89|89 d0 a0 13) 	vmuluwm v29,v0,v26
+.*:	(11 15 e0 c0|c0 e0 15 11) 	vaddudm v8,v21,v28
+.*:	(10 3a 08 c2|c2 08 3a 10) 	vmaxud  v1,v26,v1
+.*:	(12 83 08 c4|c4 08 83 12) 	vrld    v20,v3,v1
+.*:	(10 93 58 c7|c7 58 93 10) 	vcmpequd v4,v19,v11
+.*:	(12 ee f1 00|00 f1 ee 12) 	vadduqm v23,v14,v30
+.*:	(11 08 69 40|40 69 08 11) 	vaddcuq v8,v8,v13
+.*:	(13 9b 21 88|88 21 9b 13) 	vmulosw v28,v27,v4
+.*:	(10 64 21 c2|c2 21 64 10) 	vmaxsd  v3,v4,v4
+.*:	(10 13 aa 88|88 aa 13 10) 	vmuleuw v0,v19,v21
+.*:	(13 14 9a c2|c2 9a 14 13) 	vminud  v24,v20,v19
+.*:	(10 1c 7a c7|c7 7a 1c 10) 	vcmpgtud v0,v28,v15
+.*:	(12 a0 13 88|88 13 a0 12) 	vmulesw v21,v0,v2
+.*:	(11 3a 4b c2|c2 4b 3a 11) 	vminsd  v9,v26,v9
+.*:	(13 3d 5b c4|c4 5b 3d 13) 	vsrad   v25,v29,v11
+.*:	(11 7c 5b c7|c7 5b 7c 11) 	vcmpgtsd v11,v28,v11
+.*:	(10 a8 d6 01|01 d6 a8 10) 	bcdadd\. v5,v8,v26,1
+.*:	(10 83 64 08|08 64 83 10) 	vpmsumb v4,v3,v12
+.*:	(13 5f ae 41|41 ae 5f 13) 	bcdsub\. v26,v31,v21,1
+.*:	(10 b1 84 48|48 84 b1 10) 	vpmsumh v5,v17,v16
+.*:	(12 f1 a4 4e|4e a4 f1 12) 	vpkudum v23,v17,v20
+.*:	(13 15 ec 88|88 ec 15 13) 	vpmsumw v24,v21,v29
+.*:	(11 36 6c c8|c8 6c 36 11) 	vpmsumd v9,v22,v13
+.*:	(12 53 94 ce|ce 94 53 12) 	vpkudus v18,v19,v18
+.*:	(13 d0 b5 00|00 b5 d0 13) 	vsubuqm v30,v16,v22
+.*:	(11 cb 3d 08|08 3d cb 11) 	vcipher v14,v11,v7
+.*:	(11 42 b5 09|09 b5 42 11) 	vcipherlast v10,v2,v22
+.*:	(12 e0 6d 0c|0c 6d e0 12) 	vgbbd   v23,v13
+.*:	(12 19 85 40|40 85 19 12) 	vsubcuq v16,v25,v16
+.*:	(13 e1 2d 44|44 2d e1 13) 	vorc    v31,v1,v5
+.*:	(10 91 fd 48|48 fd 91 10) 	vncipher v4,v17,v31
+.*:	(13 02 dd 49|49 dd 02 13) 	vncipherlast v24,v2,v27
+.*:	(12 f5 bd 4c|4c bd f5 12) 	vbpermq v23,v21,v23
+.*:	(13 72 4d 4e|4e 4d 72 13) 	vpksdus v27,v18,v9
+.*:	(13 7d dd 84|84 dd 7d 13) 	vnand   v27,v29,v27
+.*:	(12 73 c5 c4|c4 c5 73 12) 	vsld    v19,v19,v24
+.*:	(10 ad 05 c8|c8 05 ad 10) 	vsbox   v5,v13
+.*:	(13 23 3d ce|ce 3d 23 13) 	vpksdss v25,v3,v7
+.*:	(13 88 04 c7|c7 04 88 13) 	vcmpequd\. v28,v8,v0
+.*:	(13 40 d6 4e|4e d6 40 13) 	vupkhsw v26,v26
+.*:	(10 a7 36 82|82 36 a7 10) 	vshasigmaw v5,v7,0,6
+.*:	(13 95 76 84|84 76 95 13) 	veqv    v28,v21,v14
+.*:	(10 28 9e 8c|8c 9e 28 10) 	vmrgow  v1,v8,v19
+.*:	(10 0a 56 c2|c2 56 0a 10) 	vshasigmad v0,v10,0,10
+.*:	(10 bb 76 c4|c4 76 bb 10) 	vsrd    v5,v27,v14
+.*:	(11 60 6e ce|ce 6e 60 11) 	vupklsw v11,v13
+.*:	(11 c0 87 02|02 87 c0 11) 	vclzb   v14,v16
+.*:	(12 80 df 03|03 df 80 12) 	vpopcntb v20,v27
+.*:	(13 80 5f 42|42 5f 80 13) 	vclzh   v28,v11
+.*:	(13 00 4f 43|43 4f 00 13) 	vpopcnth v24,v9
+.*:	(13 60 ff 82|82 ff 60 13) 	vclzw   v27,v31
+.*:	(12 20 9f 83|83 9f 20 12) 	vpopcntw v17,v19
+.*:	(11 80 ef c2|c2 ef 80 11) 	vclzd   v12,v29
+.*:	(12 e0 b7 c3|c3 b7 e0 12) 	vpopcntd v23,v22
+.*:	(13 14 ee c7|c7 ee 14 13) 	vcmpgtud\. v24,v20,v29
+.*:	(11 26 df c7|c7 df 26 11) 	vcmpgtsd\. v9,v6,v27
+.*:	(7f ce d0 19|19 d0 ce 7f) 	lxsiwzx vs62,r14,r26
+.*:	(7d 00 c8 19|19 c8 00 7d) 	lxsiwzx vs40,0,r25
+.*:	(7f 20 d0 98|98 d0 20 7f) 	lxsiwax vs25,0,r26
+.*:	(7c 60 18 98|98 18 60 7c) 	lxsiwax vs3,0,r3
+.*:	(7f cc 00 67|67 00 cc 7f) 	(mfvrd   r12,v30|mfvsrd  r12,vs62)
+.*:	(7d 94 00 e6|e6 00 94 7d) 	(mffprwz r20,f12|mfvsrwz r20,vs12)
+.*:	(7d c9 71 18|18 71 c9 7d) 	stxsiwx vs14,r9,r14
+.*:	(7e a0 41 18|18 41 a0 7e) 	stxsiwx vs21,0,r8
+.*:	(7e 0b 01 67|67 01 0b 7e) 	(mtvrd   v16,r11|mtvsrd  vs48,r11)
+.*:	(7f f7 01 a7|a7 01 f7 7f) 	(mtvrwa  v31,r23|mtvsrwa vs63,r23)
+.*:	(7e 1a 01 e6|e6 01 1a 7e) 	(mtfprwz f16,r26|mtvsrwz vs16,r26)
+.*:	(7d b3 6c 18|18 6c b3 7d) 	lxsspx  vs13,r19,r13
+.*:	(7e 40 6c 18|18 6c 40 7e) 	lxsspx  vs18,0,r13
+.*:	(7d 62 25 19|19 25 62 7d) 	stxsspx vs43,r2,r4
+.*:	(7e e0 5d 19|19 5d e0 7e) 	stxsspx vs55,0,r11
+.*:	(f2 d0 c8 05|05 c8 d0 f2) 	xsaddsp vs54,vs48,vs25
+.*:	(f1 d2 08 0c|0c 08 d2 f1) 	xsmaddasp vs14,vs50,vs1
+.*:	(f3 56 50 42|42 50 56 f3) 	xssubsp vs26,vs22,vs42
+.*:	(f3 75 a0 4e|4e a0 75 f3) 	xsmaddmsp vs27,vs53,vs52
+.*:	(f1 00 d8 2a|2a d8 00 f1) 	xsrsqrtesp vs8,vs59
+.*:	(f1 80 48 2e|2e 48 80 f1) 	xssqrtsp vs12,vs41
+.*:	(f3 2b 00 83|83 00 2b f3) 	xsmulsp vs57,vs11,vs32
+.*:	(f0 d4 d0 89|89 d0 d4 f0) 	xsmsubasp vs38,vs20,vs26
+.*:	(f3 53 30 c0|c0 30 53 f3) 	xsdivsp vs26,vs19,vs6
+.*:	(f0 65 b8 cf|cf b8 65 f0) 	xsmsubmsp vs35,vs37,vs55
+.*:	(f3 60 40 69|69 40 60 f3) 	xsresp  vs59,vs8
+.*:	(f1 81 0c 0f|0f 0c 81 f1) 	xsnmaddasp vs44,vs33,vs33
+.*:	(f2 3e f4 4c|4c f4 3e f2) 	xsnmaddmsp vs17,vs62,vs30
+.*:	(f2 d4 fc 8d|8d fc d4 f2) 	xsnmsubasp vs54,vs52,vs31
+.*:	(f0 a5 d4 cb|cb d4 a5 f0) 	xsnmsubmsp vs37,vs5,vs58
+.*:	(f3 d6 65 56|56 65 d6 f3) 	xxlorc  vs30,vs54,vs44
+.*:	(f2 2e ed 91|91 ed 2e f2) 	xxlnand vs49,vs14,vs29
+.*:	(f3 d6 f5 d1|d1 f5 d6 f3) 	xxleqv  vs62,vs22,vs30
+.*:	(f3 80 b4 2f|2f b4 80 f3) 	xscvdpspn vs60,vs54
+.*:	(f2 c0 6c 66|66 6c c0 f2) 	xsrsp   vs22,vs45
+.*:	(f3 40 dc a2|a2 dc 40 f3) 	xscvuxdsp vs26,vs59
+.*:	(f0 c0 8c e3|e3 8c c0 f0) 	xscvsxdsp vs38,vs49
+.*:	(f3 60 d5 2d|2d d5 60 f3) 	xscvspdpn vs59,vs26
+.*:	(ff 0e 16 8c|8c 16 0e ff) 	fmrgow  f24,f14,f2
+.*:	(fe c7 2f 8c|8c 2f c7 fe) 	fmrgew  f22,f7,f5
+.*:	(7c 00 71 9c|9c 71 00 7c) 	msgsnd  r14
+.*:	(7c 00 b9 dc|dc b9 00 7c) 	msgclr  r23
 .*:	(7d 00 2e 99|99 2e 00 7d) 	lxvd2x  vs40,0,r5
 .*:	(7d 00 2e 99|99 2e 00 7d) 	lxvd2x  vs40,0,r5
 .*:	(7d 54 36 98|98 36 54 7d) 	lxvd2x  vs10,r20,r6
diff --git a/gas/testsuite/gas/ppc/vsx2.d b/gas/testsuite/gas/ppc/vsx2.d
index e7ea585262a..4f0b25bd474 100644
--- a/gas/testsuite/gas/ppc/vsx2.d
+++ b/gas/testsuite/gas/ppc/vsx2.d
@@ -7,59 +7,59 @@
 Disassembly of section \.text:
 
 0+00 <vsx2>:
-   0:	(7f ce d0 19|19 d0 ce 7f) 	lxsiwzx vs62,r14,r26
-   4:	(7d 00 c8 19|19 c8 00 7d) 	lxsiwzx vs40,0,r25
-   8:	(7f 20 d0 98|98 d0 20 7f) 	lxsiwax vs25,0,r26
-   c:	(7c 60 18 98|98 18 60 7c) 	lxsiwax vs3,0,r3
-  10:	(7f cc 00 66|66 00 cc 7f) 	mfvsrd  r12,vs30
-  14:	(7f cc 00 66|66 00 cc 7f) 	mfvsrd  r12,vs30
-  18:	(7f cc 00 67|67 00 cc 7f) 	mfvsrd  r12,vs62
-  1c:	(7f cc 00 67|67 00 cc 7f) 	mfvsrd  r12,vs62
-  20:	(7d 94 00 e6|e6 00 94 7d) 	mffprwz r20,f12
-  24:	(7d 94 00 e6|e6 00 94 7d) 	mffprwz r20,f12
-  28:	(7d 95 00 e7|e7 00 95 7d) 	mfvrwz  r21,v12
-  2c:	(7d 95 00 e7|e7 00 95 7d) 	mfvrwz  r21,v12
-  30:	(7d c9 71 18|18 71 c9 7d) 	stxsiwx vs14,r9,r14
-  34:	(7e a0 41 18|18 41 a0 7e) 	stxsiwx vs21,0,r8
-  38:	(7d 7c 01 66|66 01 7c 7d) 	mtvsrd  vs11,r28
-  3c:	(7d 7c 01 66|66 01 7c 7d) 	mtvsrd  vs11,r28
-  40:	(7d 7d 01 67|67 01 7d 7d) 	mtvsrd  vs43,r29
-  44:	(7d 7d 01 67|67 01 7d 7d) 	mtvsrd  vs43,r29
-  48:	(7f 16 01 a6|a6 01 16 7f) 	mtfprwa f24,r22
-  4c:	(7f 16 01 a6|a6 01 16 7f) 	mtfprwa f24,r22
-  50:	(7f 37 01 a7|a7 01 37 7f) 	mtvrwa  v25,r23
-  54:	(7f 37 01 a7|a7 01 37 7f) 	mtvrwa  v25,r23
-  58:	(7f 5b 01 e6|e6 01 5b 7f) 	mtfprwz f26,r27
-  5c:	(7f 5b 01 e6|e6 01 5b 7f) 	mtfprwz f26,r27
-  60:	(7f 7c 01 e7|e7 01 7c 7f) 	mtvrwz  v27,r28
-  64:	(7f 7c 01 e7|e7 01 7c 7f) 	mtvrwz  v27,r28
-  68:	(7d b3 6c 18|18 6c b3 7d) 	lxsspx  vs13,r19,r13
-  6c:	(7e 40 6c 18|18 6c 40 7e) 	lxsspx  vs18,0,r13
-  70:	(7d 62 25 19|19 25 62 7d) 	stxsspx vs43,r2,r4
-  74:	(7e e0 5d 19|19 5d e0 7e) 	stxsspx vs55,0,r11
-  78:	(f2 d0 c8 05|05 c8 d0 f2) 	xsaddsp vs54,vs48,vs25
-  7c:	(f1 d2 08 0c|0c 08 d2 f1) 	xsmaddasp vs14,vs50,vs1
-  80:	(f3 56 50 42|42 50 56 f3) 	xssubsp vs26,vs22,vs42
-  84:	(f3 75 a0 4e|4e a0 75 f3) 	xsmaddmsp vs27,vs53,vs52
-  88:	(f1 00 d8 2a|2a d8 00 f1) 	xsrsqrtesp vs8,vs59
-  8c:	(f1 80 48 2e|2e 48 80 f1) 	xssqrtsp vs12,vs41
-  90:	(f3 2b 00 83|83 00 2b f3) 	xsmulsp vs57,vs11,vs32
-  94:	(f0 d4 d0 89|89 d0 d4 f0) 	xsmsubasp vs38,vs20,vs26
-  98:	(f3 53 30 c0|c0 30 53 f3) 	xsdivsp vs26,vs19,vs6
-  9c:	(f0 65 b8 cf|cf b8 65 f0) 	xsmsubmsp vs35,vs37,vs55
-  a0:	(f3 60 40 69|69 40 60 f3) 	xsresp  vs59,vs8
-  a4:	(f1 81 0c 0f|0f 0c 81 f1) 	xsnmaddasp vs44,vs33,vs33
-  a8:	(f2 3e f4 4c|4c f4 3e f2) 	xsnmaddmsp vs17,vs62,vs30
-  ac:	(f2 d4 fc 8d|8d fc d4 f2) 	xsnmsubasp vs54,vs52,vs31
-  b0:	(f0 a5 d4 cb|cb d4 a5 f0) 	xsnmsubmsp vs37,vs5,vs58
-  b4:	(f3 d6 65 56|56 65 d6 f3) 	xxlorc  vs30,vs54,vs44
-  b8:	(f2 2e ed 91|91 ed 2e f2) 	xxlnand vs49,vs14,vs29
-  bc:	(f3 d6 f5 d1|d1 f5 d6 f3) 	xxleqv  vs62,vs22,vs30
-  c0:	(f3 80 b4 2f|2f b4 80 f3) 	xscvdpspn vs60,vs54
-  c4:	(f2 c0 6c 66|66 6c c0 f2) 	xsrsp   vs22,vs45
-  c8:	(f3 40 dc a2|a2 dc 40 f3) 	xscvuxdsp vs26,vs59
-  cc:	(f0 c0 8c e3|e3 8c c0 f0) 	xscvsxdsp vs38,vs49
-  d0:	(f3 60 d5 2d|2d d5 60 f3) 	xscvspdpn vs59,vs26
-  d4:	(ff 0e 16 8c|8c 16 0e ff) 	fmrgow  f24,f14,f2
-  d8:	(fe c7 2f 8c|8c 2f c7 fe) 	fmrgew  f22,f7,f5
+.*:	(7f ce d0 19|19 d0 ce 7f) 	lxsiwzx vs62,r14,r26
+.*:	(7d 00 c8 19|19 c8 00 7d) 	lxsiwzx vs40,0,r25
+.*:	(7f 20 d0 98|98 d0 20 7f) 	lxsiwax vs25,0,r26
+.*:	(7c 60 18 98|98 18 60 7c) 	lxsiwax vs3,0,r3
+.*:	(7f cc 00 66|66 00 cc 7f) 	(mffprd  r12,f30|mfvsrd  r12,vs30)
+.*:	(7f cc 00 66|66 00 cc 7f) 	(mffprd  r12,f30|mfvsrd  r12,vs30)
+.*:	(7f cc 00 67|67 00 cc 7f) 	(mfvrd   r12,v30|mfvsrd  r12,vs62)
+.*:	(7f cc 00 67|67 00 cc 7f) 	(mfvrd   r12,v30|mfvsrd  r12,vs62)
+.*:	(7d 94 00 e6|e6 00 94 7d) 	(mffprwz r20,f12|mfvsrwz r20,vs12)
+.*:	(7d 94 00 e6|e6 00 94 7d) 	(mffprwz r20,f12|mfvsrwz r20,vs12)
+.*:	(7d 95 00 e7|e7 00 95 7d) 	(mfvrwz  r21,v12|mfvsrwz r21,vs44)
+.*:	(7d 95 00 e7|e7 00 95 7d) 	(mfvrwz  r21,v12|mfvsrwz r21,vs44)
+.*:	(7d c9 71 18|18 71 c9 7d) 	stxsiwx vs14,r9,r14
+.*:	(7e a0 41 18|18 41 a0 7e) 	stxsiwx vs21,0,r8
+.*:	(7d 7c 01 66|66 01 7c 7d) 	(mtfprd  f11,r28|mtvsrd  vs11,r28)
+.*:	(7d 7c 01 66|66 01 7c 7d) 	(mtfprd  f11,r28|mtvsrd  vs11,r28)
+.*:	(7d 7d 01 67|67 01 7d 7d) 	(mtvrd   v11,r29|mtvsrd  vs43,r29)
+.*:	(7d 7d 01 67|67 01 7d 7d) 	(mtvrd   v11,r29|mtvsrd  vs43,r29)
+.*:	(7f 16 01 a6|a6 01 16 7f) 	(mtfprwa f24,r22|mtvsrwa vs24,r22)
+.*:	(7f 16 01 a6|a6 01 16 7f) 	(mtfprwa f24,r22|mtvsrwa vs24,r22)
+.*:	(7f 37 01 a7|a7 01 37 7f) 	(mtvrwa  v25,r23|mtvsrwa vs57,r23)
+.*:	(7f 37 01 a7|a7 01 37 7f) 	(mtvrwa  v25,r23|mtvsrwa vs57,r23)
+.*:	(7f 5b 01 e6|e6 01 5b 7f) 	(mtfprwz f26,r27|mtvsrwz vs26,r27)
+.*:	(7f 5b 01 e6|e6 01 5b 7f) 	(mtfprwz f26,r27|mtvsrwz vs26,r27)
+.*:	(7f 7c 01 e7|e7 01 7c 7f) 	(mtvrwz  v27,r28|mtvsrwz vs59,r28)
+.*:	(7f 7c 01 e7|e7 01 7c 7f) 	(mtvrwz  v27,r28|mtvsrwz vs59,r28)
+.*:	(7d b3 6c 18|18 6c b3 7d) 	lxsspx  vs13,r19,r13
+.*:	(7e 40 6c 18|18 6c 40 7e) 	lxsspx  vs18,0,r13
+.*:	(7d 62 25 19|19 25 62 7d) 	stxsspx vs43,r2,r4
+.*:	(7e e0 5d 19|19 5d e0 7e) 	stxsspx vs55,0,r11
+.*:	(f2 d0 c8 05|05 c8 d0 f2) 	xsaddsp vs54,vs48,vs25
+.*:	(f1 d2 08 0c|0c 08 d2 f1) 	xsmaddasp vs14,vs50,vs1
+.*:	(f3 56 50 42|42 50 56 f3) 	xssubsp vs26,vs22,vs42
+.*:	(f3 75 a0 4e|4e a0 75 f3) 	xsmaddmsp vs27,vs53,vs52
+.*:	(f1 00 d8 2a|2a d8 00 f1) 	xsrsqrtesp vs8,vs59
+.*:	(f1 80 48 2e|2e 48 80 f1) 	xssqrtsp vs12,vs41
+.*:	(f3 2b 00 83|83 00 2b f3) 	xsmulsp vs57,vs11,vs32
+.*:	(f0 d4 d0 89|89 d0 d4 f0) 	xsmsubasp vs38,vs20,vs26
+.*:	(f3 53 30 c0|c0 30 53 f3) 	xsdivsp vs26,vs19,vs6
+.*:	(f0 65 b8 cf|cf b8 65 f0) 	xsmsubmsp vs35,vs37,vs55
+.*:	(f3 60 40 69|69 40 60 f3) 	xsresp  vs59,vs8
+.*:	(f1 81 0c 0f|0f 0c 81 f1) 	xsnmaddasp vs44,vs33,vs33
+.*:	(f2 3e f4 4c|4c f4 3e f2) 	xsnmaddmsp vs17,vs62,vs30
+.*:	(f2 d4 fc 8d|8d fc d4 f2) 	xsnmsubasp vs54,vs52,vs31
+.*:	(f0 a5 d4 cb|cb d4 a5 f0) 	xsnmsubmsp vs37,vs5,vs58
+.*:	(f3 d6 65 56|56 65 d6 f3) 	xxlorc  vs30,vs54,vs44
+.*:	(f2 2e ed 91|91 ed 2e f2) 	xxlnand vs49,vs14,vs29
+.*:	(f3 d6 f5 d1|d1 f5 d6 f3) 	xxleqv  vs62,vs22,vs30
+.*:	(f3 80 b4 2f|2f b4 80 f3) 	xscvdpspn vs60,vs54
+.*:	(f2 c0 6c 66|66 6c c0 f2) 	xsrsp   vs22,vs45
+.*:	(f3 40 dc a2|a2 dc 40 f3) 	xscvuxdsp vs26,vs59
+.*:	(f0 c0 8c e3|e3 8c c0 f0) 	xscvsxdsp vs38,vs49
+.*:	(f3 60 d5 2d|2d d5 60 f3) 	xscvspdpn vs59,vs26
+.*:	(ff 0e 16 8c|8c 16 0e ff) 	fmrgow  f24,f14,f2
+.*:	(fe c7 2f 8c|8c 2f c7 fe) 	fmrgew  f22,f7,f5
 #pass
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index b53a2bba98d..30593769d4e 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,10 @@
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+	Apply from master
+	2020-08-10  Alan Modra  <amodra@gmail.com>
+	* ppc-opc.c (powerpc_opcodes): Prioritise mtfprd and mtvrd over
+	mtvsrd, and similarly for mfvsrd.
+
 2020-09-19  Nick Clifton  <nickc@redhat.com>
 
 	This is the 2.35.1 point release.
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 6932e4e820d..a830c4c0fdf 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -6302,9 +6302,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 {"subf.",	XO(31,40,0,1),	XO_MASK,     PPC,	0,		{RT, RA, RB}},
 {"sub.",	XO(31,40,0,1),	XO_MASK,     PPC,	0,		{RT, RB, RA}},
 
-{"mfvsrd",	X(31,51),	XX1RB_MASK,   PPCVSX2,	0,		{RA, XS6}},
 {"mffprd",	X(31,51),	XX1RB_MASK|1, PPCVSX2,	0,		{RA, FRS}},
 {"mfvrd",	X(31,51)|1,	XX1RB_MASK|1, PPCVSX2,	0,		{RA, VS}},
+{"mfvsrd",	X(31,51),	XX1RB_MASK,   PPCVSX2,	0,		{RA, XS6}},
 {"eratilx",	X(31,51),	X_MASK,	     PPCA2,	0,		{ERAT_T, RA, RB}},
 
 {"lbarx",	X(31,52),	XEH_MASK, POWER8|E6500, 0,		{RT, RA0, RB, EH}},
@@ -6489,9 +6489,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 
 {"mtmsrd",	X(31,178),	XRLARB_MASK, PPC64,	0,		{RS, A_L}},
 
-{"mtvsrd",	X(31,179),	XX1RB_MASK,   PPCVSX2,	0,		{XT6, RA}},
 {"mtfprd",	X(31,179),	XX1RB_MASK|1, PPCVSX2,	0,		{FRT, RA}},
 {"mtvrd",	X(31,179)|1,	XX1RB_MASK|1, PPCVSX2,	0,		{VD, RA}},
+{"mtvsrd",	X(31,179),	XX1RB_MASK,   PPCVSX2,	0,		{XT6, RA}},
 {"eratre",	X(31,179),	X_MASK,	     PPCA2,	0,		{RT, RA, WS}},
 
 {"stdux",	X(31,181),	X_MASK,	     PPC64,	0,		{RS, RAS, RB}},


More information about the Binutils-cvs mailing list