1# RUN: not llvm-mc -triple s390x-unknown-unknown -filetype=obj -mcpu=zEC12 \ 2# RUN: -o /dev/null %s 2>&1 | FileCheck %s 3 4 .text 5 6# Test fixup ranges, which are encoded as half-words. 7 8# 12-bit 9# CHECK: error: operand out of range (4096 not between -4096 and 4094) 10# CHECK-NEXT: bprp 0, .Lab1, 0 11# CHECK-NEXT: ^ 12# CHECK-NEXT: error: operand out of range (-4098 not between -4096 and 4094) 13# CHECK-NEXT: bprp 0, .Lab0, 0 14# CHECK-NEXT: ^ 15 bprp 0, .Lab1, 0 16.Lab0: 17 bprp 0, .Lab1, 0 18 .space 4084 19.Lab1: 20 nopr 21 bprp 0, .Lab0, 0 22 bprp 0, .Lab0, 0 23 24# 24-bit 25# CHECK-NEXT: error: operand out of range (16777220 not between -16777216 and 16777214) 26# CHECK-NEXT: bprp 0, 0, .Lab3 27# CHECK-NEXT: ^ 28# CHECK-NEXT: error: operand out of range (-16777222 not between -16777216 and 16777214) 29# CHECK-NEXT: bprp 0, 0, .Lab2 30# CHECK-NEXT: ^ 31 bprp 0, 0, .Lab3 32.Lab2: 33 bprp 0, 0, .Lab3 34 .space 16777208 35.Lab3: 36 nopr 37 bprp 0, 0, .Lab2 38 bprp 0, 0, .Lab2 39 40# 16-bit 41# CHECK-NEXT: error: operand out of range (65540 not between -65536 and 65534) 42# CHECK-NEXT: cij %r1, 0, 0, .Lab5 43# CHECK-NEXT: ^ 44# CHECK-NEXT: error: operand out of range (-65542 not between -65536 and 65534) 45# CHECK-NEXT: cij %r1, 0, 0, .Lab4 46# CHECK-NEXT: ^ 47 cij %r1, 0, 0, .Lab5 48.Lab4: 49 cij %r1, 0, 0, .Lab5 50 .space 65528 51.Lab5: 52 nopr 53 cij %r1, 0, 0, .Lab4 54 cij %r1, 0, 0, .Lab4 55 56# 32-bit 57# Unfortunately there is no support for offsets greater than 32 bits, so we have 58# to for now assume they are in range. 59 60# CHECK-NOT: error 61