llvm-6502/test/MC/Mips/micromips-diagnostic-fixup.s
Matheus Almeida b90ed644fc [mips] Add checks for alignment and maximum displacements for most of the
branch instructions for mips and micromips instruction sets thus avoiding
the situation of generating branches to undesired locations if offsets
cannot be encoded.

This patch also checks if a fixup cannot be applied and returns a fatal error
if that's the case.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197223 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-13 11:11:02 +00:00

11 lines
389 B
ArmAsm

# RUN: not llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -arch=mips -mattr=+micromips 2>&1 -filetype=obj | FileCheck %s
#
# CHECK: LLVM ERROR: out of range PC16 fixup
.text
b foo
.space 65536 - 8, 1 # -8 = size of b instr plus size of automatically inserted nop
nop # This instr makes the branch too long to fit into a 17-bit offset
foo:
add $0,$0,$0