61 lines · plain
1# RUN: not llvm-mc -triple s390x-unknown-unknown -filetype=obj -mcpu=zEC12 \2# RUN: -o /dev/null %s 2>&1 | FileCheck %s3 4 .text5 6# Test fixup ranges, which are encoded as half-words.7 8# 12-bit9# CHECK: error: operand out of range (4096 not between -4096 and 4094)10# CHECK-NEXT: bprp 0, .Lab1, 011# CHECK-NEXT: ^12# CHECK-NEXT: error: operand out of range (-4098 not between -4096 and 4094)13# CHECK-NEXT: bprp 0, .Lab0, 014# CHECK-NEXT: ^15 bprp 0, .Lab1, 016.Lab0:17 bprp 0, .Lab1, 018 .space 408419.Lab1:20 nopr21 bprp 0, .Lab0, 022 bprp 0, .Lab0, 023 24# 24-bit25# CHECK-NEXT: error: operand out of range (16777220 not between -16777216 and 16777214)26# CHECK-NEXT: bprp 0, 0, .Lab327# CHECK-NEXT: ^28# CHECK-NEXT: error: operand out of range (-16777222 not between -16777216 and 16777214)29# CHECK-NEXT: bprp 0, 0, .Lab230# CHECK-NEXT: ^31 bprp 0, 0, .Lab332.Lab2:33 bprp 0, 0, .Lab334 .space 1677720835.Lab3:36 nopr37 bprp 0, 0, .Lab238 bprp 0, 0, .Lab239 40# 16-bit41# CHECK-NEXT: error: operand out of range (65540 not between -65536 and 65534)42# CHECK-NEXT: cij %r1, 0, 0, .Lab543# CHECK-NEXT: ^44# CHECK-NEXT: error: operand out of range (-65542 not between -65536 and 65534)45# CHECK-NEXT: cij %r1, 0, 0, .Lab446# CHECK-NEXT: ^47 cij %r1, 0, 0, .Lab548.Lab4:49 cij %r1, 0, 0, .Lab550 .space 6552851.Lab5:52 nopr53 cij %r1, 0, 0, .Lab454 cij %r1, 0, 0, .Lab455 56# 32-bit57# Unfortunately there is no support for offsets greater than 32 bits, so we have58# to for now assume they are in range.59 60# CHECK-NOT: error61