llvm-project/llvm/test/MC/RISCV/attribute.s
Paul Kirth b146a57f67
Reapply "[RISCV] Support RISCV Atomics ABI attributes (#84597)"
This patch adds support for the atomic_abi attribute, specifid in
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version.

This was previously reverted due to ld.bfd segfaulting w/ unknown riscv
attributes. Attribute emission is now guarded by a backend flag
`--riscv-abi-attributes`, which is off by default. Linker support in
LLD for attribute merging is now in a standalone patch.

Reviewers: kito-cheng, MaskRay, asb

Reviewed By: MaskRay

Pull Request: https://github.com/llvm/llvm-project/pull/90266
2024-07-02 08:23:03 -07:00

30 lines
851 B
ArmAsm

## Test llvm-mc could handle .attribute correctly.
# RUN: llvm-mc %s -triple=riscv32 -filetype=asm | FileCheck %s
# RUN: llvm-mc %s -triple=riscv64 -filetype=asm | FileCheck %s
# RUN: llvm-mc %s -triple=riscv32 -filetype=asm -riscv-add-build-attributes \
# RUN: | FileCheck %s
# RUN: llvm-mc %s -triple=riscv64 -filetype=asm -riscv-add-build-attributes \
# RUN: | FileCheck %s
.attribute stack_align, 16
# CHECK: attribute 4, 16
.attribute arch, "rv32i2p1_m2p0_a2p1_c2p0_zmmul1p0"
# CHECK: attribute 5, "rv32i2p1_m2p0_a2p1_c2p0_zmmul1p0"
.attribute unaligned_access, 0
# CHECK: attribute 6, 0
.attribute priv_spec, 2
# CHECK: attribute 8, 2
.attribute priv_spec_minor, 0
# CHECK: attribute 10, 0
.attribute priv_spec_revision, 0
# CHECK: attribute 12, 0
.attribute atomic_abi, 0
# CHECK: attribute 14, 0