xref: /llvm-project/llvm/test/MC/Mips/mips32r2/invalid.s (revision a45d3e439f60f993ee4fe7995cc197427bc3c4f6)
1595fcab2SMatheus Almeida# Instructions that are valid for the current ISA but should be rejected by the assembler (e.g.
2595fcab2SMatheus Almeida# invalid set of operands or operand's restrictions not met).
3595fcab2SMatheus Almeida
4595fcab2SMatheus Almeida# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 2>%t1
5daa4b6fbSDaniel Sanders# RUN: FileCheck %s < %t1
6595fcab2SMatheus Almeida
7595fcab2SMatheus Almeida        .text
8595fcab2SMatheus Almeida        .set noreorder
985fd10bdSDaniel Sanders        addiu $2, $3, -32769 # CHECK: :[[@LINE]]:23: error: expected 16-bit signed immediate
1085fd10bdSDaniel Sanders        addiu $2, $3, 65536  # CHECK: :[[@LINE]]:23: error: expected 16-bit signed immediate
11f8bb23e5SDaniel Sanders        andi $2, $3, -1      # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate
12f8bb23e5SDaniel Sanders        andi $2, $3, 65536   # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate
13daa4b6fbSDaniel Sanders        cache -1, 255($7)    # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
14daa4b6fbSDaniel Sanders        cache 32, 255($7)    # CHECK: :[[@LINE]]:15: error: expected 5-bit unsigned immediate
155da2f6cdSZlatko Buljan        # FIXME: Check '0 < pos + size <= 32' constraint on ext
1659d092f8SDaniel Sanders        ext $2, $3, -1, 1    # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
1759d092f8SDaniel Sanders        ext $2, $3, 32, 1    # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
185da2f6cdSZlatko Buljan        ext $2, $3, 1, 0     # CHECK: :[[@LINE]]:24: error: expected immediate in range 1 .. 32
195da2f6cdSZlatko Buljan        ext $2, $3, 1, 33    # CHECK: :[[@LINE]]:24: error: expected immediate in range 1 .. 32
2059d092f8SDaniel Sanders        # FIXME: Check size on ins
2159d092f8SDaniel Sanders        ins $2, $3, -1, 1    # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
2259d092f8SDaniel Sanders        ins $2, $3, 32, 1    # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
23daa4b6fbSDaniel Sanders        jalr.hb $31          # CHECK: :[[@LINE]]:9: error: source and destination must be different
24daa4b6fbSDaniel Sanders        jalr.hb $31, $31     # CHECK: :[[@LINE]]:9: error: source and destination must be different
2585fd10bdSDaniel Sanders        lwc2 $2, -32769($3)  # CHECK: :[[@LINE]]:18: error: expected memory with 16-bit signed offset
2685fd10bdSDaniel Sanders        lwc2 $2, 32768($3)   # CHECK: :[[@LINE]]:18: error: expected memory with 16-bit signed offset
27f8bb23e5SDaniel Sanders        ori $2, $3, -1       # CHECK: :[[@LINE]]:21: error: expected 16-bit unsigned immediate
28f8bb23e5SDaniel Sanders        ori $2, $3, 65536    # CHECK: :[[@LINE]]:21: error: expected 16-bit unsigned immediate
29daa4b6fbSDaniel Sanders        pref -1, 255($7)     # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate
30daa4b6fbSDaniel Sanders        pref 32, 255($7)     # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate
3103a8d2f8SDaniel Sanders        sdbbp -1             # CHECK: :[[@LINE]]:15: error: expected 20-bit unsigned immediate
3203a8d2f8SDaniel Sanders        sdbbp 1048576        # CHECK: :[[@LINE]]:15: error: expected 20-bit unsigned immediate
3359d092f8SDaniel Sanders        sll $2, $3, -1       # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
3459d092f8SDaniel Sanders        sll $2, $3, 32       # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
3559d092f8SDaniel Sanders        srl $2, $3, -1       # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
3659d092f8SDaniel Sanders        srl $2, $3, 32       # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
3759d092f8SDaniel Sanders        sra $2, $3, -1       # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
3859d092f8SDaniel Sanders        sra $2, $3, 32       # CHECK: :[[@LINE]]:21: error: expected 5-bit unsigned immediate
39*a45d3e43SDaniel Sanders        sync -1              # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate
40*a45d3e43SDaniel Sanders        sync 32              # CHECK: :[[@LINE]]:14: error: expected 5-bit unsigned immediate
4103a8d2f8SDaniel Sanders        syscall -1           # CHECK: :[[@LINE]]:17: error: expected 20-bit unsigned immediate
4203a8d2f8SDaniel Sanders        syscall 1048576      # CHECK: :[[@LINE]]:17: error: expected 20-bit unsigned immediate
4359d092f8SDaniel Sanders        rotr $2, $3, -1      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
4459d092f8SDaniel Sanders        rotr $2, $3, 32      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
45f8bb23e5SDaniel Sanders        xori $2, $3, -1      # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate
46f8bb23e5SDaniel Sanders        xori $2, $3, 65536   # CHECK: :[[@LINE]]:22: error: expected 16-bit unsigned immediate
47