You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
6.2 KiB
142 lines
6.2 KiB
7 years ago
|
--- binutils-2.25.1/gas/testsuite/gas/ppc/power7.s 2015-07-21 09:20:58.000000000 +0100
|
||
|
+++ binutils-2.25.1.new/gas/testsuite/gas/ppc/power7.s 2016-03-01 14:08:17.020136029 +0000
|
||
|
@@ -98,4 +98,4 @@ power7:
|
||
|
mfppr32 11
|
||
|
mtppr 12
|
||
|
mtppr32 13
|
||
|
- tlbie 10,11
|
||
|
+ tlbie 10
|
||
|
--- binutils-2.25.1/gas/testsuite/gas/ppc/power7.d 2015-07-21 09:20:58.000000000 +0100
|
||
|
+++ binutils-2.25.1.new/gas/testsuite/gas/ppc/power7.d 2016-03-01 14:08:17.020136029 +0000
|
||
|
@@ -107,5 +107,5 @@ Disassembly of section \.text:
|
||
|
.*: (7d 62 e2 a6|a6 e2 62 7d) mfppr32 r11
|
||
|
.*: (7d 80 e3 a6|a6 e3 80 7d) mtppr r12
|
||
|
.*: (7d a2 e3 a6|a6 e3 a2 7d) mtppr32 r13
|
||
|
-.*: (7d 60 52 64|64 52 60 7d) tlbie r10,r11
|
||
|
+.*: (7c 00 52 64|64 52 00 7c) tlbie r10
|
||
|
#pass
|
||
|
--- binutils.orig/opcodes/ppc-opc.c 2017-01-17 09:44:23.341397357 +0000
|
||
|
+++ binutils-2.27/opcodes/ppc-opc.c 2017-01-17 09:45:24.000684653 +0000
|
||
|
@@ -5182,8 +5182,7 @@ const struct powerpc_opcode powerpc_opco
|
||
|
{"mfbhrbe", X(31,302), X_MASK, POWER8, 0, {RT, BHRBE}},
|
||
|
|
||
|
{"tlbie", X(31,306), X_MASK|1<<20,POWER9, TITAN, {RB, RS, RIC, PRS, X_R}},
|
||
|
-{"tlbie", X(31,306), XRA_MASK, POWER7, POWER9|TITAN, {RB, RS}},
|
||
|
-{"tlbie", X(31,306), XRTLRA_MASK, PPC, E500|POWER7|TITAN, {RB, L}},
|
||
|
+{"tlbie", X(31,306), XRTLRA_MASK, PPC, POWER9|TITAN, {RB, L}},
|
||
|
{"tlbi", X(31,306), XRT_MASK, POWER, 0, {RA0, RB}},
|
||
|
|
||
|
{"mfvsrld", X(31,307), XX1RB_MASK, PPCVSX3, 0, {RA, XS6}},
|
||
|
--- binutils.orig/gas/testsuite/gas/ppc/e500-ill.s 2017-01-17 10:34:39.821866168 +0000
|
||
|
+++ binutils-2.27/gas/testsuite/gas/ppc/e500-ill.s 2017-01-17 10:56:56.766061777 +0000
|
||
|
@@ -7,4 +7,4 @@ start:
|
||
|
mfdcr 5, 234
|
||
|
mtdcr 432, 8
|
||
|
tlbia
|
||
|
- tlbie 3
|
||
|
+
|
||
|
--- binutils.orig/gas/testsuite/gas/ppc/e500-ill.l 2017-01-17 10:34:39.821866168 +0000
|
||
|
+++ binutils-2.27/gas/testsuite/gas/ppc/e500-ill.l 2017-01-17 10:57:09.021915557 +0000
|
||
|
@@ -5,4 +5,3 @@
|
||
|
.*: Error: unrecognized opcode: `mfdcr'
|
||
|
.*: Error: unrecognized opcode: `mtdcr'
|
||
|
.*: Error: unrecognized opcode: `tlbia'
|
||
|
-.*: Error: unrecognized opcode: `tlbie'
|
||
|
--- binutils.orig/gas/testsuite/gas/ppc/power6.s 2017-01-17 10:34:39.822866157 +0000
|
||
|
+++ binutils-2.27/gas/testsuite/gas/ppc/power6.s 2017-01-17 10:58:38.316849143 +0000
|
||
|
@@ -69,6 +69,5 @@ start:
|
||
|
slbia
|
||
|
slbia 0
|
||
|
slbia 7
|
||
|
- tlbie 10
|
||
|
tlbie 10,0
|
||
|
tlbie 10,1
|
||
|
--- binutils.orig/gas/testsuite/gas/ppc/power6.d 2017-01-17 10:34:39.822866157 +0000
|
||
|
+++ binutils-2.27/gas/testsuite/gas/ppc/power6.d 2017-01-17 10:59:24.780294250 +0000
|
||
|
@@ -74,7 +74,6 @@ Disassembly of section \.text:
|
||
|
.*: (7c 00 03 e4|e4 03 00 7c) slbia
|
||
|
.*: (7c 00 03 e4|e4 03 00 7c) slbia
|
||
|
.*: (7c e0 03 e4|e4 03 e0 7c) slbia 7
|
||
|
-.*: (7c 00 52 64|64 52 00 7c) tlbie r10
|
||
|
-.*: (7c 00 52 64|64 52 00 7c) tlbie r10
|
||
|
+.*: (7c 00 52 64|64 52 00 7c) tlbie r10,0
|
||
|
.*: (7c 20 52 64|64 52 20 7c) tlbie r10,1
|
||
|
#pass
|
||
|
--- binutils.orig/gas/testsuite/gas/ppc/power7.s 2017-01-17 10:34:39.823866144 +0000
|
||
|
+++ binutils-2.27/gas/testsuite/gas/ppc/power7.s 2017-01-17 11:00:19.835636746 +0000
|
||
|
@@ -98,4 +98,4 @@ power7:
|
||
|
mfppr32 11
|
||
|
mtppr 12
|
||
|
mtppr32 13
|
||
|
- tlbie 10
|
||
|
+
|
||
|
--- binutils.orig/gas/testsuite/gas/ppc/power7.d 2017-01-17 10:34:39.822866157 +0000
|
||
|
+++ binutils-2.27/gas/testsuite/gas/ppc/power7.d 2017-01-17 11:00:27.995539295 +0000
|
||
|
@@ -107,5 +107,4 @@ Disassembly of section \.text:
|
||
|
.*: (7d 62 e2 a6|a6 e2 62 7d) mfppr32 r11
|
||
|
.*: (7d 80 e3 a6|a6 e3 80 7d) mtppr r12
|
||
|
.*: (7d a2 e3 a6|a6 e3 a2 7d) mtppr32 r13
|
||
|
-.*: (7c 00 52 64|64 52 00 7c) tlbie r10
|
||
|
#pass
|
||
|
diff -rup binutils.orig/gas/config/tc-ppc.c binutils-2.27/gas/config/tc-ppc.c
|
||
|
--- binutils.orig/gas/config/tc-ppc.c 2017-02-02 12:21:55.246930313 +0000
|
||
|
+++ binutils-2.27/gas/config/tc-ppc.c 2017-02-02 12:29:13.568862941 +0000
|
||
|
@@ -2672,7 +2672,7 @@ md_assemble (char *str)
|
||
|
|
||
|
operand = &powerpc_operands[*opindex_ptr];
|
||
|
if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0
|
||
|
- && !((operand->flags & PPC_OPERAND_OPTIONAL32) != 0 && ppc_obj64))
|
||
|
+ || (operand->flags & PPC_OPERAND_OPTIONAL32))
|
||
|
{
|
||
|
unsigned int opcount;
|
||
|
unsigned int num_operands_expected;
|
||
|
@@ -2741,8 +2741,8 @@ md_assemble (char *str)
|
||
|
|
||
|
/* If this is an optional operand, and we are skipping it, just
|
||
|
insert a zero. */
|
||
|
- if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0
|
||
|
- && !((operand->flags & PPC_OPERAND_OPTIONAL32) != 0 && ppc_obj64)
|
||
|
+ if (((operand->flags & PPC_OPERAND_OPTIONAL) != 0
|
||
|
+ || (operand->flags & PPC_OPERAND_OPTIONAL32) != 0)
|
||
|
&& skip_optional)
|
||
|
{
|
||
|
long val = ppc_optional_operand_value (operand);
|
||
|
diff -rup binutils-2.27.orig/gas/testsuite/gas/ppc/power6.d binutils-2.27/gas/testsuite/gas/ppc/power6.d
|
||
|
--- binutils-2.27.orig/gas/testsuite/gas/ppc/power6.d 2017-02-14 10:17:21.352033787 +0000
|
||
|
+++ binutils-2.27/gas/testsuite/gas/ppc/power6.d 2017-02-14 11:54:36.643091777 +0000
|
||
|
@@ -74,6 +74,6 @@ Disassembly of section \.text:
|
||
|
.*: (7c 00 03 e4|e4 03 00 7c) slbia
|
||
|
.*: (7c 00 03 e4|e4 03 00 7c) slbia
|
||
|
.*: (7c e0 03 e4|e4 03 e0 7c) slbia 7
|
||
|
-.*: (7c 00 52 64|64 52 00 7c) tlbie r10,0
|
||
|
+.*: (7c 00 52 64|64 52 00 7c) tlbie r10
|
||
|
.*: (7c 20 52 64|64 52 20 7c) tlbie r10,1
|
||
|
#pass
|
||
|
diff -rup binutils-2.27.orig/opcodes/ppc-opc.c binutils-2.27/opcodes/ppc-opc.c
|
||
|
--- binutils-2.27.orig/opcodes/ppc-opc.c 2017-02-14 10:17:22.281021961 +0000
|
||
|
+++ binutils-2.27/opcodes/ppc-opc.c 2017-02-14 11:58:50.035840144 +0000
|
||
|
@@ -576,9 +576,12 @@ const struct powerpc_operand powerpc_ope
|
||
|
#define RD RS
|
||
|
{ 0x1f, 21, NULL, NULL, PPC_OPERAND_GPR },
|
||
|
|
||
|
+#define RSLL RS + 1
|
||
|
+ { 0x1f, 21, NULL, NULL, PPC_OPERAND_GPR | PPC_OPERAND_OPTIONAL32 },
|
||
|
+
|
||
|
/* The RS and RT fields of the DS form stq and DQ form lq instructions,
|
||
|
which have special value restrictions. */
|
||
|
-#define RSQ RS + 1
|
||
|
+#define RSQ RSLL + 1
|
||
|
#define RTQ RSQ
|
||
|
{ 0x1e, 21, NULL, NULL, PPC_OPERAND_GPR },
|
||
|
|
||
|
@@ -5132,7 +5135,8 @@ const struct powerpc_opcode powerpc_opco
|
||
|
{"mfbhrbe", X(31,302), X_MASK, POWER8, 0, {RT, BHRBE}},
|
||
|
|
||
|
{"tlbie", X(31,306), X_MASK|1<<20,POWER9, TITAN, {RB, RS, RIC, PRS, X_R}},
|
||
|
-{"tlbie", X(31,306), XRTLRA_MASK, PPC, POWER9|TITAN, {RB, L}},
|
||
|
+{"tlbie", X(31,306), XRA_MASK, POWER7, POWER9|TITAN, {RB, RSLL}},
|
||
|
+{"tlbie", X(31,306), XRTLRA_MASK, PPC, E500|POWER7|TITAN, {RB, LOPT}},
|
||
|
{"tlbi", X(31,306), XRT_MASK, POWER, 0, {RA0, RB}},
|
||
|
|
||
|
{"mfvsrld", X(31,307), XX1RB_MASK, PPCVSX3, 0, {RA, XS6}},
|