1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test/MC/Mips/mips-jump-pc-region.s
Simon Atanasyan 01265b11da [Mips] Fix evaluating J-format branch targets
J/JAL/JALX/JALS are absolute branches, but stay within the current
256 MB-aligned region, so we must include the high bits of the
instruction address when calculating the branch target.

Patch by James Clarke.

Differential Revision: https://reviews.llvm.org/D68548

llvm-svn: 373906
2019-10-07 14:01:22 +00:00

18 lines
610 B
ArmAsm
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RUN: llvm-mc -triple=mips -mcpu=mips32 -filetype=obj < %s \
# RUN: | llvm-objdump -d - | FileCheck %s
# RUN: llvm-mc -triple=mips64 -mcpu=mips64 -filetype=obj < %s \
# RUN: | llvm-objdump -d - | FileCheck %s
.set noreorder
# Force us into the second 256 MB region with a non-zero instruction index
.org 256*1024*1024 + 12
# CHECK-LABEL: 1000000c foo:
# CHECK-NEXT: 1000000c: 08 00 00 03 j 12 <foo>
# CHECK-NEXT: 10000010: 0c 00 00 04 jal 16 <foo+0x4>
# CHECK-NEXT: 10000014: 74 00 00 05 jalx 20 <foo+0x8>
foo:
j 12
jal 16
jalx 20