xref: /llvm-project/llvm/test/MC/RISCV/compress-rv32d.s (revision 4b3d439e7e7b4e794e523caea9863d67ff8cf85f)
1# RUN: llvm-mc -triple riscv32 -mattr=+c,+d -show-encoding < %s \
2# RUN:   | FileCheck -check-prefixes=CHECK,CHECK-ALIAS %s
3# RUN: llvm-mc -triple riscv32 -mattr=+c,+d -show-encoding \
4# RUN:   -M no-aliases < %s | FileCheck -check-prefixes=CHECK,CHECK-INST %s
5# RUN: llvm-mc -triple riscv32 -mattr=+c,+d -filetype=obj < %s \
6# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv32 --mattr=+c,+d -d - \
7# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-ALIAS %s
8# RUN: llvm-mc -triple riscv32 -mattr=+c,+d -filetype=obj < %s \
9# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv32 --mattr=+c,+d -d -M no-aliases - \
10# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-INST %s
11# RUN: llvm-mc -triple riscv32 -mattr=+zcd,+d -show-encoding < %s \
12# RUN:   | FileCheck -check-prefixes=CHECK,CHECK-ALIAS %s
13# RUN: llvm-mc -triple riscv32 -mattr=+zcd,+d -show-encoding \
14# RUN:   -M no-aliases < %s | FileCheck -check-prefixes=CHECK,CHECK-INST %s
15# RUN: llvm-mc -triple riscv32 -mattr=+zcd,+d -filetype=obj < %s \
16# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv32 --mattr=+zcd,+d -d - \
17# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-ALIAS %s
18# RUN: llvm-mc -triple riscv32 -mattr=+zcd,+d -filetype=obj < %s \
19# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv32 --mattr=+zcd,+d -d -M no-aliases - \
20# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-INST %s
21
22# RUN: llvm-mc -triple riscv64 -mattr=+c,+d -show-encoding < %s \
23# RUN:   | FileCheck -check-prefixes=CHECK-ALIAS %s
24# RUN: llvm-mc -triple riscv64 -mattr=+c,+d -show-encoding \
25# RUN:   -M no-aliases < %s | FileCheck -check-prefixes=CHECK-INST %s
26# RUN: llvm-mc -triple riscv64 -mattr=+c,+d -filetype=obj < %s \
27# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv64 --mattr=+c,+d -d - \
28# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-ALIAS %s
29# RUN: llvm-mc -triple riscv64 -mattr=+c,+d -filetype=obj < %s \
30# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv64 --mattr=+c,+d -d -M no-aliases - \
31# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-INST %s
32# RUN: llvm-mc -triple riscv64 -mattr=+zcd,+d -show-encoding < %s \
33# RUN:   | FileCheck -check-prefixes=CHECK-ALIAS %s
34# RUN: llvm-mc -triple riscv64 -mattr=+zcd,+d -show-encoding \
35# RUN:   -M no-aliases < %s | FileCheck -check-prefixes=CHECK-INST %s
36# RUN: llvm-mc -triple riscv64 -mattr=+zcd,+d -filetype=obj < %s \
37# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv64 --mattr=+zcd,+d -d - \
38# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-ALIAS %s
39# RUN: llvm-mc -triple riscv64 -mattr=+zcd,+d -filetype=obj < %s \
40# RUN:   | llvm-objdump --no-print-imm-hex --triple=riscv64 --mattr=+zcd,+d -d -M no-aliases - \
41# RUN:   | FileCheck -check-prefixes=CHECK-BYTES,CHECK-INST %s
42
43# Tests double precision floating point instructions available in rv32 and in rv64.
44
45fld ft0, 64(sp)
46# CHECK-BYTES: 2006
47# CHECK-ALIAS: fld ft0, 64(sp)
48# CHECK-INST: c.fldsp ft0, 64(sp)
49# CHECK: # encoding:  [0x06,0x20]
50fsd ft0, 64(sp)
51# CHECK-BYTES: a082
52# CHECK-ALIAS: fsd ft0, 64(sp)
53# CHECK-INST: c.fsdsp ft0, 64(sp)
54# CHECK: # encoding:  [0x82,0xa0]
55fld fs0, 248(s0)
56# CHECK-BYTES: 3c60
57# CHECK-ALIAS: fld fs0, 248(s0)
58# CHECK-INST: c.fld fs0, 248(s0)
59# CHECK: # encoding:  [0x60,0x3c]
60fsd fs0, 248(s0)
61# CHECK-BYTES: bc60
62# CHECK-ALIAS: fsd fs0, 248(s0)
63# CHECK-INST: c.fsd fs0, 248(s0)
64# CHECK: # encoding:  [0x60,0xbc]
65