1# RUN: not llvm-mc -arch=mips %s 2>%t1
2# RUN: FileCheck --check-prefix=O32 %s < %t1
3
4# RUN: not llvm-mc -arch=mips64 %s 2>%t1
5# RUN: FileCheck --check-prefix=N64 %s < %t1
6
7# Check that subu only rejects any non-constant values.
8
9.globl end
10  subu  $4, $4, %lo($start)   # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
11                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
12  subu  $4, $4, $start        # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
13                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
14  subu  $4, $a4, $a4          # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
15  subu  $4, $4, %hi(end)      # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
16                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
17  subu  $4, $4, end + 4       # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
18                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
19  subu  $4, $4, end           # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
20                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
21  subu  $4, $4, sp            # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
22                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
23
24  subu  $4, %lo($start)       # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
25                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
26  subu  $4, $start            # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
27                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
28  subu  $4, $a4               # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
29  subu  $4, %hi(end)          # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
30                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
31  subu  $4, end + 4           # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
32                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
33  subu  $4, end               # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
34                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
35  subu  $4, sp                # O32: [[@LINE]]:{{[0-9]+}}: error: unexpected token in argument list
36                              # N64: [[@LINE-1]]:{{[0-9]+}}: error: unexpected token in argument list
37
38$start:
39