brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · aa10e95 Raw
79 lines · plain
1# REQUIRES: riscv2# RUN: rm -rf %t && split-file %s %t && cd %t3 4# RUN: llvm-mc -filetype=obj -triple=riscv32-unknown-elf -mattr=+relax a.s -o rv32.o5# RUN: llvm-mc -filetype=obj -triple=riscv64-unknown-elf -mattr=+relax a.s -o rv64.o6 7# RUN: ld.lld --relax-gp --undefined=__global_pointer$ --defsym baz=420 rv32.o lds -o rv328# RUN: ld.lld --relax-gp --undefined=__global_pointer$ --defsym baz=420 rv64.o lds -o rv649# RUN: llvm-objdump -td -M no-aliases --no-show-raw-insn rv32 | FileCheck %s10# RUN: llvm-objdump -td -M no-aliases --no-show-raw-insn rv64 | FileCheck %s11 12# CHECK: 00000040 l       .text {{0*}}0 a13 14# CHECK-NOT:  lui15# CHECK:      addi    a0, gp, -0x80016# CHECK-NEXT: lw      a0, -0x800(gp)17# CHECK-NEXT: sw      a0, -0x800(gp)18# CHECK-NOT:  lui19# CHECK-NEXT: addi    a0, gp, 0x7ff20# CHECK-NEXT: lb      a0, 0x7ff(gp)21# CHECK-NEXT: sb      a0, 0x7ff(gp)22# CHECK-NEXT: lui     a0, 0x20123# CHECK-NEXT: addi    a0, a0, 0x024# CHECK-NEXT: lw      a0, 0x0(a0)25# CHECK-NEXT: sw      a0, 0x0(a0)26# CHECK-NOT:  lui27# CHECK:      addi    a0, zero, 0x028# CHECK-NEXT: lw      a0, 0x0(zero)29# CHECK-NEXT: sw      a0, 0x0(zero)30# CHECK-NOT:  lui31# CHECK:      addi    a0, zero, 0x1a432# CHECK-NEXT: lw      a0, 0x1a4(zero)33# CHECK-NEXT: sw      a0, 0x1a4(zero)34# CHECK-EMPTY:35# CHECK-NEXT: <a>:36# CHECK-NEXT: addi a0, a0, 0x137 38#--- a.s39.global _start40_start:41  lui a0, %hi(foo)42  addi a0, a0, %lo(foo)43  lw a0, %lo(foo)(a0)44  sw a0, %lo(foo)(a0)45  lui a0, %hi(bar)46  addi a0, a0, %lo(bar)47  lb a0, %lo(bar)(a0)48  sb a0, %lo(bar)(a0)49  lui a0, %hi(norelax)50  addi a0, a0, %lo(norelax)51  lw a0, %lo(norelax)(a0)52  sw a0, %lo(norelax)(a0)53  lui a0, %hi(undefined_weak)54  addi a0, a0, %lo(undefined_weak)55  lw a0, %lo(undefined_weak)(a0)56  sw a0, %lo(undefined_weak)(a0)57  lui a0, %hi(baz)58  addi a0, a0, %lo(baz)59  lw a0, %lo(baz)(a0)60  sw a0, %lo(baz)(a0)61a:62  addi a0, a0, 163 64.section .sdata,"aw"65foo:66  .word 067  .space 409168bar:69  .byte 070norelax:71  .word 072.weak undefined_weak73 74#--- lds75SECTIONS {76  .text : {*(.text) }77  .sdata 0x200000 : { }78}79