2014-06-19 23:08:04 +08:00
|
|
|
# RUN: not llvm-mc %s -arch=mips -mcpu=mips32r2 2>%t1
|
2015-05-01 20:19:27 +08:00
|
|
|
# RUN: FileCheck %s < %t1 --check-prefix=32-BIT
|
2015-05-14 18:53:40 +08:00
|
|
|
# RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n32 2>&1 | \
|
|
|
|
# RUN: FileCheck %s --check-prefix=64-BIT --check-prefix=N32-ONLY
|
|
|
|
# RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n64 2>&1 | \
|
|
|
|
# RUN: FileCheck %s --check-prefix=64-BIT --check-prefix=N64-ONLY
|
2014-06-19 23:08:04 +08:00
|
|
|
|
2015-04-10 18:46:59 +08:00
|
|
|
.text
|
|
|
|
li $5, 0x100000000
|
2015-05-01 20:19:27 +08:00
|
|
|
# 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
|
|
|
|
# 64-BIT: :[[@LINE-2]]:3: error: instruction requires a 32-bit immediate
|
2015-05-13 21:56:16 +08:00
|
|
|
la $5, 0x100000000
|
|
|
|
# 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
|
|
|
|
# 64-BIT: :[[@LINE-2]]:3: error: instruction requires a 32-bit immediate
|
|
|
|
la $5, 0x100000000($6)
|
|
|
|
# 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
|
|
|
|
# 64-BIT: :[[@LINE-2]]:3: error: instruction requires a 32-bit immediate
|
2015-05-14 18:53:40 +08:00
|
|
|
la $5, symbol
|
|
|
|
# N64-ONLY: :[[@LINE-1]]:3: warning: instruction loads the 32-bit address of a 64-bit symbol
|
|
|
|
# N32-ONLY-NOT: :[[@LINE-2]]:3: warning: instruction loads the 32-bit address of a 64-bit symbol
|
|
|
|
# 64-BIT: lui $5, %hi(symbol)
|
|
|
|
# 64-BIT: ori $5, $5, %lo(symbol)
|
2015-04-10 18:46:59 +08:00
|
|
|
dli $5, 1
|
2015-05-01 20:19:27 +08:00
|
|
|
# 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 64-bit architecture
|
2015-06-11 18:36:10 +08:00
|
|
|
bne $2, 0x100010001, 1332
|
|
|
|
# 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
|
|
|
|
beq $2, 0x100010001, 1332
|
|
|
|
# 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
|