summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2009-09-08 09:00:47 +0000
committerAlan Modra <amodra@bigpond.net.au>2009-09-08 09:00:47 +0000
commitee084738a6f38157c3680d1a187f4033ff3541f4 (patch)
treedff87c120903b455d4bcea71a6d866da4b210ceb
parent675e70182335f594750b3e174f8d5b5c9639d12c (diff)
downloadgdb-ee084738a6f38157c3680d1a187f4033ff3541f4.tar.gz
* ppc-opc.c (powerpc_macros <extrdi>): Allow n+b of 64.
-rw-r--r--opcodes/ChangeLog4
-rw-r--r--opcodes/ppc-opc.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 736cd2f541a..3b7b4059e58 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2009-09-08 Alan Modra <amodra@bigpond.net.au>
+
+ * ppc-opc.c (powerpc_macros <extrdi>): Allow n+b of 64.
+
2009-09-07 Alan Modra <amodra@bigpond.net.au>
* z8kgen.c (func): Fix thinko last patch.
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index bc64e4940ba..1a69d33d4f6 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -5301,8 +5301,8 @@ const int powerpc_num_opcodes =
const struct powerpc_macro powerpc_macros[] = {
{"extldi", 4, PPC64, "rldicr %0,%1,%3,(%2)-1"},
{"extldi.", 4, PPC64, "rldicr. %0,%1,%3,(%2)-1"},
-{"extrdi", 4, PPC64, "rldicl %0,%1,(%2)+(%3),64-(%2)"},
-{"extrdi.", 4, PPC64, "rldicl. %0,%1,(%2)+(%3),64-(%2)"},
+{"extrdi", 4, PPC64, "rldicl %0,%1,((%2)+(%3))&((%2)+(%3)<>64),64-(%2)"},
+{"extrdi.", 4, PPC64, "rldicl. %0,%1,((%2)+(%3))&((%2)+(%3)<>64),64-(%2)"},
{"insrdi", 4, PPC64, "rldimi %0,%1,64-((%2)+(%3)),%3"},
{"insrdi.", 4, PPC64, "rldimi. %0,%1,64-((%2)+(%3)),%3"},
{"rotrdi", 3, PPC64, "rldicl %0,%1,(-(%2)!63)&((%2)|63),0"},