File: xsfcie-valid.s

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (136 lines) | stat: -rw-r--r-- 4,132 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# SCIE - SiFive Custom Instructions Extension.
# RUN: llvm-mc %s -triple=riscv32 -mattr=+xsfcie -riscv-no-aliases -show-encoding \
# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST %s
# RUN: llvm-mc %s -triple=riscv64 -mattr=+xsfcie -riscv-no-aliases -show-encoding \
# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST %s
# RUN: llvm-mc %s -triple=riscv32 -mattr=+xsfcie -riscv-no-aliases -show-encoding 2>&1 \
# RUN:     | FileCheck -check-prefixes=CHECK-WARN %s
# RUN: llvm-mc %s -triple=riscv64 -mattr=+xsfcie -riscv-no-aliases -show-encoding 2>&1 \
# RUN:     | FileCheck -check-prefixes=CHECK-WARN %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+xsfcie < %s \
# RUN:     | llvm-objdump --mattr=+xsfcie -M no-aliases -d - \
# RUN:     | FileCheck -check-prefix=CHECK-INST %s
# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+xsfcie < %s \
# RUN:     | llvm-objdump --mattr=+xsfcie -M no-aliases -d - \
# RUN:     | FileCheck -check-prefix=CHECK-INST %s
# RUN: llvm-mc %s -triple=riscv64 -mcpu=sifive-s76 -riscv-no-aliases -show-encoding \
# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST %s
# RUN: llvm-mc %s -triple=riscv64 -mcpu=sifive-s76 -riscv-no-aliases -show-encoding 2>&1 \
# RUN:     | FileCheck -check-prefixes=CHECK-WARN %s
# RUN: llvm-mc -filetype=obj -triple riscv64 -mcpu=sifive-s76 < %s \
# RUN:     | llvm-objdump --mcpu=sifive-s76 -M no-aliases -d - \
# RUN:     | FileCheck -check-prefix=CHECK-INST %s

# CHECK-INST: cflush.d.l1     zero
# CHECK-ENC: encoding: [0x73,0x00,0x00,0xfc]
# CHECK-INST: cflush.d.l1     zero
# CHECK-ENC: encoding: [0x73,0x00,0x00,0xfc]
cflush.d.l1 x0
cflush.d.l1

# CHECK-INST: cflush.d.l1     t2
# CHECK-ENC: encoding: [0x73,0x80,0x03,0xfc]
cflush.d.l1 x7

# CHECK-INST: cdiscard.d.l1   zero
# CHECK-ENC: encoding: [0x73,0x00,0x20,0xfc]
# CHECK-INST: cdiscard.d.l1     zero
# CHECK-ENC: encoding: [0x73,0x00,0x20,0xfc]
cdiscard.d.l1 x0
cdiscard.d.l1

# CHECK-INST: cdiscard.d.l1   t2
# CHECK-ENC: encoding: [0x73,0x80,0x23,0xfc]
cdiscard.d.l1 x7

# CHECK-INST: cease
# CHECK-ENC: encoding: [0x73,0x00,0x50,0x30]
cease

# mbpm
# name
# CHECK-INST: csrrs t2, mbpm, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x7c]
# uimm12
# CHECK-INST: csrrs t2, mbpm, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x7c]
# name
csrrs t2, mbpm, zero
# uimm12
csrrs t2, 0x7C0, zero

# mfd
# name
# CHECK-INST: csrrs t2, mfd, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x7c]
# uimm12
# CHECK-INST: csrrs t2, mfd, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x7c]
# name
csrrs t2, mfd, zero
# uimm12
csrrs t2, 0x7C1, zero

# mpd
# name
# CHECK-INST: csrrs t2, mpd, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x7c]
# uimm12
# CHECK-INST: csrrs t2, mpd, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x7c]
# name
csrrs t2, mpd, zero
# uimm12
csrrs t2, 0x7C8, zero

# mnscratch
# name
# CHECK-INST: csrrs t1, mnscratch, zero
# CHECK-ENC: encoding: [0x73,0x23,0x00,0x35]
# CHECK-WARN: warning: 'miselect' CSR is not available on the current subtarget. Instead 'mnscratch' CSR will be used.
# uimm12
# CHECK-INST: csrrs t2, mnscratch, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x35]
# name
csrrs t1, mnscratch, zero
csrrs t1, miselect, zero
# uimm12
csrrs t2, 0x350, zero

# mnepc
# name
# CHECK-INST: csrrs t1, mnepc, zero
# CHECK-ENC: encoding: [0x73,0x23,0x10,0x35]
# CHECK-WARN: warning: 'mireg' CSR is not available on the current subtarget. Instead 'mnepc' CSR will be used.
# uimm12
# CHECK-INST: csrrs t2, mnepc, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x35]
# name
csrrs t1, mnepc, zero
csrrs t1, mireg, zero
# uimm12
csrrs t2, 0x351, zero

# mncause
# name
# CHECK-INST: csrrs t1, mncause, zero
# CHECK-ENC: encoding: [0x73,0x23,0x20,0x35]
# uimm12
# CHECK-INST: csrrs t2, mncause, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x35]
# name
csrrs t1, mncause, zero
# uimm12
csrrs t2, 0x352, zero

# mnstatus
# name
# CHECK-INST: csrrs t1, mnstatus, zero
# CHECK-ENC: encoding: [0x73,0x23,0x30,0x35]
# uimm12
# CHECK-INST: csrrs t2, mnstatus, zero
# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x35]
# name
csrrs t1, mnstatus, zero
# uimm12
csrrs t2, 0x353, zero