From 2dd1c6e88aaef613ec07e6dac86e7c9e6e06d1cb Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Tue, 14 Mar 2023 11:19:45 +0000
Subject: [PATCH] Fix assembler documentation regarding data directives.

 PR 30206
 * doc/as.texi (Pseudo Ops): Document that data directives such as .byte and .int are not intended for encoding instructions.
---
 gas/ChangeLog   |  6 ++++++
 gas/doc/as.texi | 26 +++++++++++++++++++++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 1e00ce3bb8d..213d1124f3d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2023-03-14  Nick Clifton  <nickc@redhat.com>
+
+	PR 30206
+	* doc/as.texi (Pseudo Ops): Document that data directives such as
+	.byte and .int are not intended for encoding instructions.
+
 2023-02-28  Richard Ball  <richard.ball@arm.com>
 
 	* testsuite/gas/aarch64/mec-invalid.d: New test.
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
index bbdfa4bfdca..353ff860f1b 100644
--- a/gas/doc/as.texi
+++ b/gas/doc/as.texi
@@ -4878,6 +4878,11 @@ same number of @code{.bundle_lock} and @code{.bundle_unlock} directives.
 @code{.byte} expects zero or more expressions, separated by commas.
 Each expression is assembled into the next byte.
 
+Note - this directive is not intended for encoding instructions, and it will
+not trigger effects like DWARF line number generation.  Instead some targets
+support special directives for encoding arbitrary binary sequences as
+instructions such as @code{.insn} or @code{.inst}.
+
 @node CFI directives
 @section CFI directives
 @subsection @code{.cfi_sections @var{section_list}}
@@ -5176,6 +5181,11 @@ If no suffix is used then @samp{.w} is assumed.
 The byte ordering is target dependent, as is the size and format of floating
 point values.
 
+Note - these directives are not intended for encoding instructions, and they
+will not trigger effects like DWARF line number generation.  Instead some
+targets support special directives for encoding arbitrary binary sequences as
+instructions such as @code{.insn} or @code{.inst}.
+
 @node Dcb
 @section @code{.dcb[@var{size}] @var{number} [,@var{fill}]}
 @cindex @code{dcb} directive
@@ -5236,7 +5246,6 @@ If the @var{size} suffix is omitted then @samp{.w} is assumed.
 
 The byte ordering is target dependent.
 
-
 @ifset COFF
 @node Def
 @section @code{.def @var{name}}
@@ -5771,6 +5780,11 @@ integers.  On the H8/300H and the Renesas SH, however, @code{.int} emits
 @end ifset
 @end ifclear
 
+Note - this directive is not intended for encoding instructions, and it will
+not trigger effects like DWARF line number generation.  Instead some targets
+support special directives for encoding arbitrary binary sequences as
+instructions such as eg @code{.insn} or @code{.inst}.
+
 @ifset ELF
 @node Internal
 @section @code{.internal @var{names}}
@@ -6586,6 +6600,11 @@ warning message; and just takes the lowest order 16 bytes of the bignum.
 @cindex integer, 16-byte
 @end ifset
 
+Note - this directive is not intended for encoding instructions, and it will
+not trigger effects like DWARF line number generation.  Instead some targets
+support special directives for encoding arbitrary binary sequences as
+instructions such as @code{.insn} or @code{.inst}.
+
 @node Reloc
 @section @code{.reloc @var{offset}, @var{reloc_name}[, @var{expression}]}
 
@@ -7017,6 +7036,11 @@ a 16 bit number for each.
 @end ifset
 @end ifclear
 
+Note - this directive is not intended for encoding instructions, and it will
+not trigger effects like DWARF line number generation.  Instead some targets
+support special directives for encoding arbitrary binary sequences as
+instructions such as @code{.insn} or @code{.inst}.
+
 @node Single
 @section @code{.single @var{flonums}}
 
-- 
GitLab