aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-ppc.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 94c3bbb..122d27f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2020-09-09 Alan Modra <amodra@gmail.com>
+
+ * config/tc-ppc.c (md_assemble): Emit prefix insn by parts when
+ valueT is smaller than 64 bits.
+
2020-09-07 Cooper Qu <cooper.qu@linux.alibaba.com>
* config/tc-csky.c (CSKYV2_ISA_DSP): CSKY_ISA_DSPE60.
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 1ff1cd9..4418182 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -3882,7 +3882,8 @@ md_assemble (char *str)
/* The prefix part of an 8-byte instruction always occupies the lower
addressed word in a doubleword, regardless of endianness. */
- if (!target_big_endian && insn_length == 8)
+ if (insn_length == 8
+ && (sizeof (insn) > sizeof (valueT) || !target_big_endian))
{
md_number_to_chars (f, PPC_GET_PREFIX (insn), 4);
md_number_to_chars (f + 4, PPC_GET_SUFFIX (insn), 4);