* [RFA] PowerPC e6500 opcodes correction
@ 2012-08-17 23:14 Edmar
2012-08-18 0:20 ` Andrew Pinski
2012-08-20 9:55 ` Alan Modra
0 siblings, 2 replies; 5+ messages in thread
From: Edmar @ 2012-08-17 23:14 UTC (permalink / raw)
To: binutils, Alan Modra
[-- Attachment #1: Type: text/plain, Size: 962 bytes --]
Alan,
Last year, IBM and Freescale agreed to change the opcodes of four new
instructions.
When I submitted the e6500 patch early this year, I missed those changes
and used the opcodes from a previous version of our internal documentation.
Attached is a patch that fixes the opcodes for:
vabsdub
vabsduh
vabsduw
mviwsplt
The patch was tested for powerpc 32 bits and 64 bits with no regressions
against
this week's snapshot.
(Recently I obtained WAA for gcc project, despite this, Freescale
firewall still does not
allow me to use CVS. I would appreciate if you could do the commit for us.)
Thanks,
Edmar
opcodes/ChangeLog
2012-08-17 Edmar Wienskoski <edmar@freescale.com>
* ppc-opc.c (powerpc_opcodes): Changed opcode for vabsdub,
vabsduh, vabsduw, mviwsplt.
gas/testsuite/ChangeLog
2012-08-17 Edmar Wienskoski <edmar@freescale.com>
* gas/ppc/e6500.d: Changed opcode for vabsdub, vabsduh, vabsduw,
mviwsplt.
[-- Attachment #2: sub_e6500_update-bin.diff --]
[-- Type: text/x-patch, Size: 5150 bytes --]
diff -ruN binutils-orig/gas/testsuite/gas/ppc/e6500.d binutils-new/gas/testsuite/gas/ppc/e6500.d
--- binutils-orig/gas/testsuite/gas/ppc/e6500.d 2012-03-09 15:39:06.000000000 -0800
+++ binutils-new/gas/testsuite/gas/ppc/e6500.d 2012-08-17 14:13:51.190005756 -0700
@@ -7,11 +7,11 @@
Disassembly of section \.text:
0+00 <start>:
- 0: 10 01 10 c0 vabsdub v0,v1,v2
- 4: 10 01 11 00 vabsduh v0,v1,v2
- 8: 10 01 11 40 vabsduw v0,v1,v2
+ 0: 10 01 14 03 vabsdub v0,v1,v2
+ 4: 10 01 14 43 vabsduh v0,v1,v2
+ 8: 10 01 14 83 vabsduw v0,v1,v2
c: 7c 01 10 dc mvidsplt v0,r1,r2
- 10: 7c 01 11 1c mviwsplt v0,r1,r2
+ 10: 7c 01 10 5c mviwsplt v0,r1,r2
14: 7c 00 12 0a lvexbx v0,0,r2
18: 7c 01 12 0a lvexbx v0,r1,r2
1c: 7c 00 12 4a lvexhx v0,0,r2
diff -ruN binutils-orig/opcodes/ppc-opc.c binutils-new/opcodes/ppc-opc.c
--- binutils-orig/opcodes/ppc-opc.c 2012-07-25 06:08:55.000000000 -0700
+++ binutils-new/opcodes/ppc-opc.c 2012-08-17 13:50:24.940005751 -0700
@@ -2858,14 +2858,12 @@
{"machhwsu", XO (4, 76,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"machhwsu.", XO (4, 76,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"ps_cmpo1", X (4, 96), X_MASK|(3<<21), PPCPS, PPCNONE, {BF, FRA, FRB}},
-{"vabsdub", VX (4, 192), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
{"vcmpeqfp", VXR(4, 198,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vpkuwus", VX (4, 206), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"machhws", XO (4, 108,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"machhws.", XO (4, 108,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"nmachhws", XO (4, 110,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"nmachhws.", XO (4, 110,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
-{"vabsduh", VX (4, 256), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
{"vmaxsb", VX (4, 258), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vslb", VX (4, 260), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vmulosb", VX (4, 264), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
@@ -2878,7 +2876,6 @@
{"mulchwu.", XRC(4, 136,1), X_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"macchwu", XO (4, 140,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"macchwu.", XO (4, 140,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
-{"vabsduw", VX (4, 320), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
{"vmaxsh", VX (4, 322), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vslh", VX (4, 324), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vmulosh", VX (4, 328), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
@@ -3142,6 +3139,7 @@
{"nmaclhws.", XO (4, 494,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
{"vsububm", VX (4,1024), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vavgub", VX (4,1026), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
+{"vabsdub", VX (4,1027), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
{"evmhessf", VX (4,1027), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
{"vand", VX (4,1028), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vcmpequb.", VXR(4, 6,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
@@ -3170,6 +3168,7 @@
{"evmhosmfa", VX (4,1071), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
{"vsubuhm", VX (4,1088), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vavguh", VX (4,1090), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
+{"vabsduh", VX (4,1091), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
{"vandc", VX (4,1092), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vcmpequh.", VXR(4, 70,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"udi1fcm.", APU(4, 547,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
@@ -3202,6 +3201,7 @@
{"evmwsmfa", VX (4,1147), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
{"vsubuwm", VX (4,1152), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vavguw", VX (4,1154), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
+{"vabsduw", VX (4,1155), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
{"vor", VX (4,1156), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"vcmpequw.", VXR(4, 134,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
{"udi2fcm.", APU(4, 579,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
@@ -4285,6 +4285,8 @@
{"lvehx", X(31,39), X_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, RA0, RB}},
{"lhfcmx", APU(31,39,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
+{"mviwsplt", X(31,46), X_MASK, PPCVEC2, PPCNONE, {VD, RA, RB}},
+
{"iselgt", X(31,47), X_MASK, PPCISEL, PPCNONE, {RT, RA0, RB}},
{"lvewx", X(31,71), X_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, RA0, RB}},
@@ -4409,8 +4411,6 @@
{"adde.", XO(31,138,0,1), XO_MASK, PPCCOM|PPCVLE, PPCNONE, {RT, RA, RB}},
{"ae.", XO(31,138,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
-{"mviwsplt", X(31,142), X_MASK, PPCVEC2, PPCNONE, {VD, RA, RB}},
-
{"dcbtstlse", X(31,142), X_MASK, PPCCHLK, E500MC, {CT, RA0, RB}},
{"mtcr", XFXM(31,144,0xff,0), XRARB_MASK, COM, PPCNONE, {RS}},
[-- Attachment #3: sub_e6500_update-bin-Changelog --]
[-- Type: text/plain, Size: 315 bytes --]
opcodes/ChangeLog
2012-08-17 Edmar Wienskoski <edmar@freescale.com>
* ppc-opc.c (powerpc_opcodes): Changed opcode for vabsdub,
vabsduh, vabsduw, mviwsplt.
gas/testsuite/ChangeLog
2012-08-17 Edmar Wienskoski <edmar@freescale.com>
* gas/ppc/e6500.d: Changed opcode for vabsdub, vabsduh, vabsduw,
mviwsplt.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA] PowerPC e6500 opcodes correction
2012-08-17 23:14 [RFA] PowerPC e6500 opcodes correction Edmar
@ 2012-08-18 0:20 ` Andrew Pinski
2012-08-18 0:58 ` Peter Bergner
2012-08-20 9:55 ` Alan Modra
1 sibling, 1 reply; 5+ messages in thread
From: Andrew Pinski @ 2012-08-18 0:20 UTC (permalink / raw)
To: Edmar; +Cc: binutils, Alan Modra
On Fri, Aug 17, 2012 at 2:49 PM, Edmar <edmar@freescale.com> wrote:
> (Recently I obtained WAA for gcc project, despite this, Freescale firewall
> still does not
> allow me to use CVS. I would appreciate if you could do the commit for us.)
Even cvs over ssh? That is the way binutils cvs is handled to commit with.
Thanks,
Andrew
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA] PowerPC e6500 opcodes correction
2012-08-18 0:20 ` Andrew Pinski
@ 2012-08-18 0:58 ` Peter Bergner
0 siblings, 0 replies; 5+ messages in thread
From: Peter Bergner @ 2012-08-18 0:58 UTC (permalink / raw)
To: Andrew Pinski; +Cc: Edmar, binutils, Alan Modra
On Fri, 17 Aug 2012 16:14:06 -0700
Andrew Pinski <pinskia@gmail.com> wrote:
> On Fri, Aug 17, 2012 at 2:49 PM, Edmar <edmar@freescale.com> wrote:
> > (Recently I obtained WAA for gcc project, despite this, Freescale firewall
> > still does not
> > allow me to use CVS. I would appreciate if you could do the commit for us.)
>
> Even cvs over ssh? That is the way binutils cvs is handled to commit with.
Right, what works for me is to do:
export CVS_RSH=ssh
export CVSROOT=:ext:<username>@sourceware.org:/cvs/src
Edmar, is the above doesn't work for you, I can commit the patch
for you, but you really should get this working.
Peter
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA] PowerPC e6500 opcodes correction
2012-08-17 23:14 [RFA] PowerPC e6500 opcodes correction Edmar
2012-08-18 0:20 ` Andrew Pinski
@ 2012-08-20 9:55 ` Alan Modra
2012-08-29 3:05 ` Peter Bergner
1 sibling, 1 reply; 5+ messages in thread
From: Alan Modra @ 2012-08-20 9:55 UTC (permalink / raw)
To: Edmar; +Cc: binutils
On Fri, Aug 17, 2012 at 04:49:52PM -0500, Edmar wrote:
> (Recently I obtained WAA for gcc project, despite this, Freescale
> firewall still does not
> allow me to use CVS. I would appreciate if you could do the commit for us.)
I have applied the patch, but I do think it extremely odd that you
can't do this yourself.
--
Alan Modra
Australia Development Lab, IBM
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFA] PowerPC e6500 opcodes correction
2012-08-20 9:55 ` Alan Modra
@ 2012-08-29 3:05 ` Peter Bergner
0 siblings, 0 replies; 5+ messages in thread
From: Peter Bergner @ 2012-08-29 3:05 UTC (permalink / raw)
To: Alan Modra; +Cc: Edmar, binutils
On Mon, 20 Aug 2012 13:02:03 +0930 Alan Modra wrote:
> On Fri, Aug 17, 2012 at 04:49:52PM -0500, Edmar wrote:
>> (Recently I obtained WAA for gcc project, despite this, Freescale
>> firewall still does not
>> allow me to use CVS. I would appreciate if you could do the commit for us.)
>
> I have applied the patch, but I do think it extremely odd that you
> can't do this yourself.
I have committed this to the branch.
Peter
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-08-29 3:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-17 23:14 [RFA] PowerPC e6500 opcodes correction Edmar
2012-08-18 0:20 ` Andrew Pinski
2012-08-18 0:58 ` Peter Bergner
2012-08-20 9:55 ` Alan Modra
2012-08-29 3:05 ` Peter Bergner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).