54 lines · plain
1; REQUIRES: riscv2 3; RUN: rm -rf %t && split-file %s %t && cd %t4; RUN: llvm-mc -filetype=obj -triple=riscv32 1.s -o 1.o5; RUN: llvm-mc -filetype=obj -triple=riscv32 2.s -o 2.o6; RUN: llvm-as a.ll -o a.bc7; RUN: ld.lld 1.o 2.o a.bc -o out8; RUN: llvm-readelf --arch-specific out | FileCheck %s9 10; CHECK: BuildAttributes {11; CHECK-NEXT: FormatVersion: 0x4112; CHECK-NEXT: Section 1 {13; CHECK-NEXT: SectionLength: 11914; CHECK-NEXT: Vendor: riscv15; CHECK-NEXT: Tag: Tag_File (0x1)16; CHECK-NEXT: Size: 10917; CHECK-NEXT: FileAttributes {18; CHECK-NEXT: Attribute {19; CHECK-NEXT: Tag: 420; CHECK-NEXT: Value: 1621; CHECK-NEXT: TagName: stack_align22; CHECK-NEXT: Description: Stack alignment is 16-bytes23; CHECK-NEXT: }24; CHECK-NEXT: Attribute {25; CHECK-NEXT: Tag: 626; CHECK-NEXT: Value: 127; CHECK-NEXT: TagName: unaligned_access28; CHECK-NEXT: Description: Unaligned access29; CHECK-NEXT: }30; CHECK-NEXT: Attribute {31; CHECK-NEXT: Tag: 532; CHECK-NEXT: TagName: arch33; CHECK-NEXT: Value: rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zmmul1p0_zaamo1p0_zalrsc1p0_zca1p0_zcd1p0_zcf1p0_zbb1p0{{$}}34; CHECK-NEXT: }35; CHECK-NEXT: }36; CHECK-NEXT: }37; CHECK-NEXT: }38 39;--- 1.s40.attribute 4, 1641.attribute 5, "rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zmmul1p0"42;--- 2.s43.attribute 4, 1644.attribute 5, "rv32i2p1_m2p0_f2p2_d2p2_zbb1p0_zmmul1p0"45.attribute 6, 146 47;--- a.ll48target datalayout = "e-m:e-p:32:32-i64:64-n32-S128"49target triple = "riscv32"50 51define void @_start() {52 ret void53}54