binutils-gdb/gas/doc
Nelson Chu a262b82fdb RISC-V: Extend .insn directive to support hardcode encoding.
The .insn directive can let users use their own instructions, or
some new instruction, which haven't supported in the old binutils.
For example, if users want to use sifive cache instruction, they
cannot just write "cflush.d1.l1" in the assembly code, they should
use ".insn i SYSTEM, 0, x0, x10, -0x40".  But the .insn directive
may not easy to use for some cases, and not so friendly to users.
Therefore, I believe most of the users will use ".word 0xfc050073",
to encode the instructions directly, rather than use .insn.  But
once we have supported the mapping symbols, the .word directives
are marked as data, so disassembler won't dump them as instructions
as usual.  I have discussed this with Kito many times, we all think
extend the .insn direcitve to support the hardcode encoding, is the
easiest way to resolve the problem.  Therefore, there are two more
.insn formats are proposed as follows,

(original) .insn <type>, <operand1>, <operand2>, ...
           .insn <insn-length>, <value>
           .insn <value>

The <type> is string, and the <insn-length> and <value> are constants.

gas/
	* config/tc-riscv.c (riscv_ip_hardcode): Similar to riscv_ip,
	but assembles an instruction according to the hardcode values
	of .insn directive.
	* doc/c-riscv.texi: Document two new .insn formats.
	* testsuite/gas/riscv/insn-fail.d: New testcases.
	* testsuite/gas/riscv/insn-fail.l: Likewise.
	* testsuite/gas/riscv/insn-fail.s: Likewise.
	* testsuite/gas/riscv/insn.d: Updated.
	* testsuite/gas/riscv/insn.s: Likewise.
2021-08-31 12:50:27 +08:00
..
all.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
as.texi x86/ELF: fix .ds.x output 2021-08-11 08:31:03 +02:00
c-aarch64.texi aarch64: Remove support for CSRE 2021-01-11 15:01:09 +00:00
c-alpha.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-arc.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-arm.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-avr.texi Add a -mno-dollar-line-separator command line option to the AVR assembler. 2021-08-11 10:03:19 +01:00
c-bfin.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-bpf.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-cr16.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-cris.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-csky.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-d10v.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-d30v.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-epiphany.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-h8300.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-hppa.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-i386.texi x86: introduce .bfloat16 directive 2021-08-11 08:33:49 +02:00
c-ia64.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-ip2k.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-lm32.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-m32c.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-m32r.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-m68hc11.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-m68k.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-metag.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-microblaze.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-mips.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-mmix.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-msp430.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-mt.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-nds32.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-nios2.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-ns32k.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-or1k.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-pdp11.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-pj.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-ppc.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-pru.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-riscv.texi RISC-V: Extend .insn directive to support hardcode encoding. 2021-08-31 12:50:27 +08:00
c-rl78.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-rx.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-s12z.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-s390.texi IBM Z: Implement instruction set extensions 2021-02-15 14:32:17 +01:00
c-score.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-sh.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-sparc.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-tic6x.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-tic54x.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-tilegx.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-tilepro.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-v850.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-vax.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-visium.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-wasm32.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-xc16x.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-xgate.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-xstormy16.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-xtensa.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-z8k.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
c-z80.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
fdl.texi Change documentation license to FDL v1.3 2008-11-19 16:22:48 +00:00
h8.texi Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
internals.texi gas: drop TC_ADDRESS_BYTES conditionals 2021-06-14 08:18:07 +02:00
Makefile.am support generating multi-html pages in parallel 2021-05-08 12:06:07 -04:00
Makefile.in support generating multi-html pages in parallel 2021-05-08 12:06:07 -04:00