Prioritise mtfprd and mtvrd over mtvsrd in PowerPC disassembly
authorAlan Modra <amodra@gmail.com>
Mon, 10 Aug 2020 05:37:33 +0000 (15:07 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 10 Aug 2020 12:22:17 +0000 (21:52 +0930)
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.

gas/ChangeLog
gas/testsuite/gas/ppc/power8.d
gas/testsuite/gas/ppc/vsx2.d
opcodes/ChangeLog
opcodes/ppc-opc.c

index 2fbf2decbac99c42f27a6373b01aade054efd4eb..e918b524df030c44a83ff35cd1d17480c8e865af 100644 (file)
@@ -1,3 +1,8 @@
+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,
index dfd3345461d23b215a8c0d77f8b2948c5e593d1d..1439496462d2d24ba2646bd0a477d9ebee46d794 100644 (file)
 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
index e7ea585262ade6f053d9b173e402fb1e000cefce..4f0b25bd4743ef4918aac8d07d792aa0a7e00100 100644 (file)
@@ -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
index 44c0ac2f64d6dbca2d3a5fd1ed0041b3865199a1..f745e562baa924942a1bf67ff978252707257e68 100644 (file)
@@ -1,3 +1,8 @@
+2020-08-10  Alan Modra  <amodra@gmail.com>
+
+       * ppc-opc.c (powerpc_opcodes): Prioritise mtfprd and mtvrd over
+       mtvsrd, and similarly for mfvsrd.
+
 2020-08-04  Christian Groessler  <chris@groessler.org>
            Tadashi G. Takaoka <tadashi.g.takaoka@gmail.com>
 
index 5e20d617664f4f1cdf423678a1108d29dc4caaa2..83579eae022ffd8269be95907bd9456c48ba2d5d 100644 (file)
@@ -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}},