aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-11-15 01:08:53 +0000
committerAlan Modra <amodra@gmail.com>2001-11-15 01:08:53 +0000
commit802a735ed9198edde076bc37ef7234d319e41759 (patch)
tree4d9f93607a463fda60a1caa7d2ebba29bb39525a /gas
parent025eb37b3961035d9c99ae207e8e8123273f7301 (diff)
downloadgdb-802a735ed9198edde076bc37ef7234d319e41759.zip
gdb-802a735ed9198edde076bc37ef7234d319e41759.tar.gz
gdb-802a735ed9198edde076bc37ef7234d319e41759.tar.bz2
binutils/ChangeLog
* doc/binutils.texi (objdump): Document ppc -M options. gas/ChangeLog * config/tc-ppc.c (ppc_insert_operand): Pass (ppc_cpu | ppc_size) to operand->insert. (md_assemble): Likewise. gas/testsuite/ChangeLog * gas/ppc/booke.d: Modify reloc and target matches for powerpc64. include/opcode/ChangeLog * ppc.h (struct powerpc_operand <insert, extract>): Add dialect param. opcodes/ChangeLog * ppc-opc.c (PPC64): Revert 2001-10-12. Do include PPC_OPCODE_PPC. (insert_bat, extract_bat, insert_bba, extract_bba, insert_bd, extract_bd, insert_bdm, extract_bdm, insert_bdp, extract_bdp, valid_bo, insert_bo, extract_bo, insert_boe, extract_boe, insert_ds, extract_ds, insert_de, extract_de, insert_des, extract_des, insert_li, extract_li, insert_mbe, extract_mbe, insert_mb6, extract_mb6, insert_nb, extract_nb, insert_nsi, extract_nsi, insert_ral, insert_ram, insert_ras, insert_rbs, extract_rbs, insert_sh6, extract_sh6, insert_spr, extract_spr, insert_tbr, extract_tbr): Add dialect param. (extract_bd, extract_bdm, extract_bdp, extract_ds, extract_des, extract_li, extract_nsi): Implement sign extension without conditional. (insert_bdm, extract_bdm, insert_bdp, extract_bdp, valid_bo): Handle 64 bit branch hints. (extract_bdm, extract_bdp): Correct 32 bit validation. (AT1_MASK, AT2_MASK): Define. (BBOAT_MASK): Define. (BBOATCB_MASK, BBOAT2CB_MASK, BBOATBI_MASK): Define. (BOFM64, BOFP64, BOTM64, BOTP64): Define. (BODNZM64, BODNZP64, BODZM64, BODZP64): Define. (PPCCOM32, PPCCOM64): Define. (powerpc_opcodes): Modify existing 32 bit insns with branch hints and add new patterns to implement 64 bit branches with hints. Move booke instructions so they match before ppc64. * ppc-dis.c (powerpc_dialect): Set PPC_OPCODE_64 in dialect for 64 bit default targets, and parse "32" and "64" in options. Formatting fixes. (print_insn_powerpc): Pass dialect to operand->extract.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-ppc.c6
-rw-r--r--gas/testsuite/ChangeLog4
-rw-r--r--gas/testsuite/gas/ppc/booke.d10
4 files changed, 18 insertions, 8 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3fbbd2c..ea2e1d2 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * config/tc-ppc.c (ppc_insert_operand): Pass (ppc_cpu | ppc_size)
+ to operand->insert.
+ (md_assemble): Likewise.
+
2001-11-12 Nick Clifton <nickc@cambridge.redhat.com>
* frags.c (frag_grow): Use frag_make_room() to grow the
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index d0e8db8..2e2e684 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1304,7 +1304,7 @@ ppc_insert_operand (insn, operand, val, file, line)
const char *errmsg;
errmsg = NULL;
- insn = (*operand->insert) (insn, (long) val, &errmsg);
+ insn = (*operand->insert) (insn, (long) val, ppc_cpu | ppc_size, &errmsg);
if (errmsg != (const char *) NULL)
as_bad_where (file, line, errmsg);
}
@@ -1942,7 +1942,7 @@ md_assemble (str)
from the input. */
if ((operand->flags & PPC_OPERAND_FAKE) != 0)
{
- insn = (*operand->insert) (insn, 0L, &errmsg);
+ insn = (*operand->insert) (insn, 0L, ppc_cpu | ppc_size, &errmsg);
if (errmsg != (const char *) NULL)
as_bad (errmsg);
continue;
@@ -1955,7 +1955,7 @@ md_assemble (str)
{
if (operand->insert)
{
- insn = (*operand->insert) (insn, 0L, &errmsg);
+ insn = (*operand->insert) (insn, 0L, ppc_cpu | ppc_size, &errmsg);
if (errmsg != (const char *) NULL)
as_bad (errmsg);
}
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index a78da36..2d6db40 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * gas/ppc/booke.d: Modify reloc and target matches for powerpc64.
+
2001-11-11 Timothy Wall <twall@alum.mit.edu>
* gas/tic54x/sections.[sd]: Check for named, initialized sections
diff --git a/gas/testsuite/gas/ppc/booke.d b/gas/testsuite/gas/ppc/booke.d
index 37b8ebe..90e34e9 100644
--- a/gas/testsuite/gas/ppc/booke.d
+++ b/gas/testsuite/gas/ppc/booke.d
@@ -2,7 +2,7 @@
#objdump: -Dr -Mbooke
#name: BookE tests
-.*: +file format elf32-powerpc
+.*: +file format elf(32)?(64)?-powerpc
Disassembly of section \.text:
@@ -10,9 +10,9 @@ Disassembly of section \.text:
0: 24 25 00 30 bce 1,4\*cr1\+gt,30 <branch_target_1>
4: 24 46 00 3d bcel 2,4\*cr1\+eq,40 <branch_target_2>
8: 24 67 00 02 bcea 3,4\*cr1\+so,0 <start>
- 8: R_PPC_ADDR14 branch_target_3
+ 8: R_PPC(64)?_ADDR14 branch_target_3
c: 24 88 00 03 bcela 4,4\*cr2,0 <start>
- c: R_PPC_ADDR14 branch_target_4
+ c: R_PPC(64)?_ADDR14 branch_target_4
10: 4c a9 00 22 bclre 5,4\*cr2\+gt
14: 4c aa 00 23 bclrel 5,4\*cr2\+eq
18: 4d 0b 04 22 bcctre 8,4\*cr2\+so
@@ -20,9 +20,9 @@ Disassembly of section \.text:
20: 58 00 00 74 be 94 <branch_target_5>
24: 58 00 00 89 bel ac <branch_target_6>
28: 58 00 00 02 bea 0 <start>
- 28: R_PPC_ADDR24 branch_target_7
+ 28: R_PPC(64)?_ADDR24 branch_target_7
2c: 58 00 00 03 bela 0 <start>
- 2c: R_PPC_ADDR24 branch_target_8
+ 2c: R_PPC(64)?_ADDR24 branch_target_8
0+0000030 <branch_target_1>:
30: e9 09 00 80 lbze r8,8\(r9\)