## When a user specifies an architecture extension which conflicts with an ## architecture attribute, we use the architecture attribute instead of the ## command line option. ## ## This test uses option '-mattr=+e' to specify the "e" extension. However, ## there is an architecture attribute in the file to specify rv32i. We will ## use rv32i to assemble the file instead of rv32e. # RUN: llvm-mc %s -triple=riscv32 -mattr=+e -filetype=obj -o - \ # RUN: | llvm-readobj -A - | FileCheck %s .attribute arch, "rv32i2p0" ## Invalid operand for RV32E, because x16 is an invalid register for RV32E. ## Use RV32I to assemble, since it will not trigger an assembly error. lui x16, 1 ## Check that the architecture attribute is not overridden by the command line ## option. # CHECK: Tag: 5 # CHECK-NEXT: TagName: arch # CHECK-NEXT: Value: rv32i2p0