mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-11 21:45:16 +00:00
fdd6126933
The integrated assembler evaluates the expressions such as ~0x80000000 to 0xffffffff7fffffff early in the parsing process. This patch adds compatibility with gas so that li loads the expected value (0x7fffffff) in those cases. This only occurs iff all the upper 32bits are set and maintains existing checks by not truncating the result down to 32 bits if any of the the upper bits are not set. Reviewers: dsanders, zoran.jovanovic Differential Review: https://reviews.llvm.org/D23399 llvm-svn: 283353
12 lines
490 B
ArmAsm
12 lines
490 B
ArmAsm
# RUN: not llvm-mc %s -arch=mips -mcpu=mips32r2 2>%t1
|
|
# RUN: FileCheck %s < %t1 --check-prefix=32-BIT
|
|
# RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n32 2>&1 | \
|
|
# RUN: FileCheck %s --check-prefix=64-BIT
|
|
# RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n64 2>&1 | \
|
|
# RUN: FileCheck %s --check-prefix=64-BIT
|
|
|
|
.text
|
|
li $5, 0x100000000
|
|
# 32-BIT: :[[@LINE-1]]:10: error: expected 32-bit immediate
|
|
# 64-BIT: :[[@LINE-2]]:10: error: expected 32-bit immediate
|