xref: /llvm-project/llvm/test/MC/CSKY/fpuv2.s (revision ec642ceebc1aacc8b16249df7734b8cf90ae2963)
1# RUN: llvm-mc %s -triple=csky -show-encoding -csky-no-aliases -mattr=+fpuv2_sf -mattr=+fpuv2_df \
2# RUN:     | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s
3# RUN: llvm-mc -filetype=obj -triple=csky -mattr=+fpuv2_sf -mattr=+fpuv2_df < %s \
4# RUN:     | llvm-objdump --mattr=+fpuv2_sf --mattr=+fpuv2_df -M no-aliases -M abi-names -d -r - \
5# RUN:     | FileCheck -check-prefixes=CHECK-ASM-AND-OBJ %s
6
7# CHECK-ASM-AND-OBJ: fldms  vr1-vr2, (a1)
8# CHECK-ASM: encoding: [0x21,0xf4,0x01,0x30]
9fldms  vr1-vr2, (a1)
10
11# CHECK-ASM-AND-OBJ: fldmd  vr1-vr2, (a1)
12# CHECK-ASM: encoding: [0x21,0xf4,0x01,0x31]
13fldmd  vr1-vr2, (a1)
14
15# CHECK-ASM-AND-OBJ: fstms  vr1-vr2, (a1)
16# CHECK-ASM: encoding: [0x21,0xf4,0x01,0x34]
17fstms  vr1-vr2, (a1)
18
19# CHECK-ASM-AND-OBJ: fstmd  vr1-vr2, (a1)
20# CHECK-ASM: encoding: [0x21,0xf4,0x01,0x35]
21fstmd  vr1-vr2, (a1)
22
23# RUN: not llvm-mc -triple csky -mattr=+fpuv2_sf -mattr=+fpuv2_df --defsym=ERR=1 < %s 2>&1 | FileCheck %s
24
25.ifdef ERR
26fldms  vr1-vr33, (a1) # CHECK: :[[#@LINE]]:12: error: invalid register
27fldms  vr1-vr31, (a1) # CHECK: :[[#@LINE]]:8: error: Register sequence is not valid
28fstms  vr1-vr33, (a1) # CHECK: :[[#@LINE]]:12: error: invalid register
29fstms  vr1-vr31, (a1) # CHECK: :[[#@LINE]]:8: error: Register sequence is not valid
30fldmd  vr1-vr33, (a1) # CHECK: :[[#@LINE]]:12: error: invalid register
31fldmd  vr1-vr31, (a1) # CHECK: :[[#@LINE]]:8: error: Register sequence is not valid
32fstmd  vr1-vr33, (a1) # CHECK: :[[#@LINE]]:12: error: invalid register
33fstmd  vr1-vr31, (a1) # CHECK: :[[#@LINE]]:8: error: Register sequence is not valid
34.endif
35