The following table lists all available RISC-V specific directives.
.align
size-log-2.half
value.word
value.dword
value.dtprelword
value.dtpreldword
value.bss
.uleb128
value.sleb128
value.option
argument.option push .option norelax la gp, __global_pointer$ .option pop
in order to produce after linker relaxation the expected
auipc gp, %pcrel_hi(__global_pointer$) addi gp, gp, %pcrel_lo(__global_pointer$)
instead of just
addi gp, gp, 0
It's not expected that options are changed in this manner during regular use, but there are a handful of esoteric cases like the one above where users need to disable particular features of the assembler for particular code sequences. The complete list of option arguments is shown below:
push
pop
rvc
norvc
pic
nopic
relax
norelax
.insn
value.insn
value.attribute
tag,
valueThe tag is either an attribute number, or one of the following:
Tag_RISCV_arch
, Tag_RISCV_stack_align
,
Tag_RISCV_unaligned_access
, Tag_RISCV_priv_spec
,
Tag_RISCV_priv_spec_minor
, Tag_RISCV_priv_spec_revision
.