[mips] [IAS] Warn when LA is used with a 64-bit symbol.
[oota-llvm.git] / test / MC / Mips / mips-expansions-bad.s
1 # RUN: not llvm-mc %s -arch=mips -mcpu=mips32r2 2>%t1
2 # RUN: FileCheck %s < %t1 --check-prefix=32-BIT
3 # RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n32 2>&1 | \
4 # RUN:   FileCheck %s --check-prefix=64-BIT --check-prefix=N32-ONLY
5 # RUN: not llvm-mc %s -arch=mips64 -mcpu=mips64 -target-abi n64 2>&1 | \
6 # RUN:   FileCheck %s --check-prefix=64-BIT --check-prefix=N64-ONLY
7
8   .text
9   li $5, 0x100000000
10   # 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
11   # 64-BIT: :[[@LINE-2]]:3: error: instruction requires a 32-bit immediate
12   la $5, 0x100000000
13   # 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
14   # 64-BIT: :[[@LINE-2]]:3: error: instruction requires a 32-bit immediate
15   la $5, 0x100000000($6)
16   # 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 32-bit immediate
17   # 64-BIT: :[[@LINE-2]]:3: error: instruction requires a 32-bit immediate
18   la $5, symbol
19   # N64-ONLY: :[[@LINE-1]]:3: warning: instruction loads the 32-bit address of a 64-bit symbol
20   # N32-ONLY-NOT: :[[@LINE-2]]:3: warning: instruction loads the 32-bit address of a 64-bit symbol
21   # 64-BIT: lui $5, %hi(symbol)
22   # 64-BIT: ori $5, $5, %lo(symbol)
23   dli $5, 1
24   # 32-BIT: :[[@LINE-1]]:3: error: instruction requires a 64-bit architecture