1# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+relax %s \ 2# RUN: | llvm-readobj -r - | FileCheck -check-prefix RELAX %s 3# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=-relax %s \ 4# RUN: | llvm-readobj -r - | FileCheck -check-prefix NORELAX %s 5 6# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+relax %s \ 7# RUN: | llvm-readobj -r - | FileCheck -check-prefix RELAX %s 8# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=-relax %s \ 9# RUN: | llvm-readobj -r - | FileCheck -check-prefix NORELAX %s 10 11# NORELAX: Relocations [ 12# NORELAX-NEXT: .rela.text { 13# NORELAX-NEXT: R_RISCV_CALL_PLT 14# NORELAX-NEXT: } 15# NORELAX-NEXT: ] 16 17.globl G1 18.globl G2 19.globl G3 20.L1: 21G1: 22 call extern 23.L2: 24G2: 25 .p2align 3 26.L3: 27G3: 28 29.data 30.dword .L2-.L1 31.dword G2-G1 32.word .L2-.L1 33.word G2-G1 34.half .L2-.L1 35.half G2-G1 36.byte .L2-.L1 37.byte G2-G1 38.dword .L3-.L2 39.dword G3-G2 40.word .L3-.L2 41.word G3-G2 42.half .L3-.L2 43.half G3-G2 44.byte .L3-.L2 45.byte G3-G2 46# RELAX: .rela.data { 47# RELAX-NEXT: 0x0 R_RISCV_ADD64 .L2 0x0 48# RELAX-NEXT: 0x0 R_RISCV_SUB64 .L1 0x0 49# RELAX-NEXT: 0x8 R_RISCV_ADD64 G2 0x0 50# RELAX-NEXT: 0x8 R_RISCV_SUB64 G1 0x0 51# RELAX-NEXT: 0x10 R_RISCV_ADD32 .L2 0x0 52# RELAX-NEXT: 0x10 R_RISCV_SUB32 .L1 0x0 53# RELAX-NEXT: 0x14 R_RISCV_ADD32 G2 0x0 54# RELAX-NEXT: 0x14 R_RISCV_SUB32 G1 0x0 55# RELAX-NEXT: 0x18 R_RISCV_ADD16 .L2 0x0 56# RELAX-NEXT: 0x18 R_RISCV_SUB16 .L1 0x0 57# RELAX-NEXT: 0x1A R_RISCV_ADD16 G2 0x0 58# RELAX-NEXT: 0x1A R_RISCV_SUB16 G1 0x0 59# RELAX-NEXT: 0x1C R_RISCV_ADD8 .L2 0x0 60# RELAX-NEXT: 0x1C R_RISCV_SUB8 .L1 0x0 61# RELAX-NEXT: 0x1D R_RISCV_ADD8 G2 0x0 62# RELAX-NEXT: 0x1D R_RISCV_SUB8 G1 0x0 63# RELAX-NEXT: 0x1E R_RISCV_ADD64 .L3 0x0 64# RELAX-NEXT: 0x1E R_RISCV_SUB64 .L2 0x0 65# RELAX-NEXT: 0x26 R_RISCV_ADD64 G3 0x0 66# RELAX-NEXT: 0x26 R_RISCV_SUB64 G2 0x0 67# RELAX-NEXT: 0x2E R_RISCV_ADD32 .L3 0x0 68# RELAX-NEXT: 0x2E R_RISCV_SUB32 .L2 0x0 69# RELAX-NEXT: 0x32 R_RISCV_ADD32 G3 0x0 70# RELAX-NEXT: 0x32 R_RISCV_SUB32 G2 0x0 71# RELAX-NEXT: 0x36 R_RISCV_ADD16 .L3 0x0 72# RELAX-NEXT: 0x36 R_RISCV_SUB16 .L2 0x0 73# RELAX-NEXT: 0x38 R_RISCV_ADD16 G3 0x0 74# RELAX-NEXT: 0x38 R_RISCV_SUB16 G2 0x0 75# RELAX-NEXT: 0x3A R_RISCV_ADD8 .L3 0x0 76# RELAX-NEXT: 0x3A R_RISCV_SUB8 .L2 0x0 77# RELAX-NEXT: 0x3B R_RISCV_ADD8 G3 0x0 78# RELAX-NEXT: 0x3B R_RISCV_SUB8 G2 0x0 79# RELAX-NEXT: } 80