mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-10 06:03:52 +00:00
27b0f61456
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283353 91177308-0d34-0410-b5e6-96231b3b80d8
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
|