39 lines
1.5 KiB
ArmAsm
39 lines
1.5 KiB
ArmAsm
|
# RUN: not llvm-mc --filetype=obj --triple=loongarch64 --mattr=-relax %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=ERR,NORELAX --implicit-check-not=error:
|
||
|
# RUN: not llvm-mc --filetype=obj --triple=loongarch64 --mattr=+relax %s -o /dev/null 2>&1 | FileCheck %s --check-prefixes=ERR,RELAX --implicit-check-not=error:
|
||
|
|
||
|
a:
|
||
|
nop
|
||
|
b:
|
||
|
la.pcrel $t0, a
|
||
|
c:
|
||
|
nop
|
||
|
d:
|
||
|
|
||
|
.data
|
||
|
## Positive subsection numbers
|
||
|
## With relaxation, report an error as c-b is not an assemble-time constant.
|
||
|
# RELAX: :[[#@LINE+1]]:14: error: cannot evaluate subsection number
|
||
|
.subsection c-b
|
||
|
# RELAX: :[[#@LINE+1]]:14: error: cannot evaluate subsection number
|
||
|
.subsection d-b
|
||
|
# RELAX: :[[#@LINE+1]]:14: error: cannot evaluate subsection number
|
||
|
.subsection c-a
|
||
|
|
||
|
.subsection b-a
|
||
|
.subsection d-c
|
||
|
|
||
|
## Negative subsection numbers
|
||
|
# NORELAX: :[[#@LINE+2]]:14: error: subsection number -8 is not within [0,2147483647]
|
||
|
# RELAX: :[[#@LINE+1]]:14: error: cannot evaluate subsection number
|
||
|
.subsection b-c
|
||
|
# NORELAX: :[[#@LINE+2]]:14: error: subsection number -12 is not within [0,2147483647]
|
||
|
# RELAX: :[[#@LINE+1]]:14: error: cannot evaluate subsection number
|
||
|
.subsection b-d
|
||
|
# NORELAX: :[[#@LINE+2]]:14: error: subsection number -12 is not within [0,2147483647]
|
||
|
# RELAX: :[[#@LINE+1]]:14: error: cannot evaluate subsection number
|
||
|
.subsection a-c
|
||
|
# ERR: :[[#@LINE+1]]:14: error: subsection number -4 is not within [0,2147483647]
|
||
|
.subsection a-b
|
||
|
# ERR: :[[#@LINE+1]]:14: error: subsection number -4 is not within [0,2147483647]
|
||
|
.subsection c-d
|