xref: /aosp_15_r20/external/llvm/test/MC/Mips/micromips-dsp/invalid.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: not llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r6 -mattr=micromips -mattr=+dsp 2>%t1
2*9880d681SAndroid Build Coastguard Worker# RUN: FileCheck %s < %t1
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker  shll.ph $3, $4, 16       # CHECK: :[[@LINE]]:19: error: expected 4-bit unsigned immediate
5*9880d681SAndroid Build Coastguard Worker  shll.ph $3, $4, -1       # CHECK: :[[@LINE]]:19: error: expected 4-bit unsigned immediate
6*9880d681SAndroid Build Coastguard Worker  shll_s.ph $3, $4, 16     # CHECK: :[[@LINE]]:21: error: expected 4-bit unsigned immediate
7*9880d681SAndroid Build Coastguard Worker  shll_s.ph $3, $4, -1     # CHECK: :[[@LINE]]:21: error: expected 4-bit unsigned immediate
8*9880d681SAndroid Build Coastguard Worker  shll.qb $3, $4, 8        # CHECK: :[[@LINE]]:19: error: expected 3-bit unsigned immediate
9*9880d681SAndroid Build Coastguard Worker  shll.qb $3, $4, -1       # CHECK: :[[@LINE]]:19: error: expected 3-bit unsigned immediate
10*9880d681SAndroid Build Coastguard Worker  // FIXME: Following invalid tests are temporarely disabled, until operand check for uimm5 is added
11*9880d681SAndroid Build Coastguard Worker  shll_s.w $3, $4, 32      # -CHECK: :[[@LINE]]:20: error: expected 5-bit unsigned immediate
12*9880d681SAndroid Build Coastguard Worker  shll_s.w $3, $4, -1      # -CHECK: :[[@LINE]]:20: error: expected 5-bit unsigned immediate
13*9880d681SAndroid Build Coastguard Worker  shra.ph $3, $4, 16       # CHECK: :[[@LINE]]:19: error: expected 4-bit unsigned immediate
14*9880d681SAndroid Build Coastguard Worker  shra.ph $3, $4, -1       # CHECK: :[[@LINE]]:19: error: expected 4-bit unsigned immediate
15*9880d681SAndroid Build Coastguard Worker  shra_r.ph $3, $4, 16     # CHECK: :[[@LINE]]:21: error: expected 4-bit unsigned immediate
16*9880d681SAndroid Build Coastguard Worker  shra_r.ph $3, $4, -1     # CHECK: :[[@LINE]]:21: error: expected 4-bit unsigned immediate
17*9880d681SAndroid Build Coastguard Worker  // FIXME: Following invalid tests are temporarely disabled, until operand check for uimm5 is added
18*9880d681SAndroid Build Coastguard Worker  shra_r.w $3, $4, 32      # -CHECK: :[[@LINE]]:20: error: expected 5-bit unsigned immediate
19*9880d681SAndroid Build Coastguard Worker  shra_r.w $3, $4, -1      # -CHECK: :[[@LINE]]:20: error: expected 5-bit unsigned immediate
20*9880d681SAndroid Build Coastguard Worker  shrl.qb $3, $4, 8        # CHECK: :[[@LINE]]:19: error: expected 3-bit unsigned immediate
21*9880d681SAndroid Build Coastguard Worker  shrl.qb $3, $4, -1       # CHECK: :[[@LINE]]:19: error: expected 3-bit unsigned immediate
22*9880d681SAndroid Build Coastguard Worker  shilo $ac1, 64           # CHECK: :[[@LINE]]:15: error: expected 6-bit signed immediate
23*9880d681SAndroid Build Coastguard Worker  shilo $ac1, -64          # CHECK: :[[@LINE]]:15: error: expected 6-bit signed immediate
24*9880d681SAndroid Build Coastguard Worker                           # bposge32 is microMIPS DSP instruction but it is removed in Release 6
25*9880d681SAndroid Build Coastguard Worker  bposge32 342             # CHECK: :[[@LINE]]:{{[0-9]+}}: error: instruction requires a CPU feature not currently enabled
26