File: xqcicm-valid.s

package info (click to toggle)
llvm-toolchain-21 1%3A21.1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,245,028 kB
  • sloc: cpp: 7,619,726; ansic: 1,434,018; asm: 1,058,748; python: 252,740; f90: 94,671; objc: 70,685; lisp: 42,813; pascal: 18,401; sh: 8,601; ml: 5,111; perl: 4,720; makefile: 3,675; awk: 3,523; javascript: 2,409; xml: 892; fortran: 770
file content (143 lines) | stat: -rw-r--r-- 4,209 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
137
138
139
140
141
142
143
# Xqcicm - Qualcomm uC Conditional Move Extension
# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcicm -M no-aliases -show-encoding \
# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-NOALIAS %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcicm < %s \
# RUN:     | llvm-objdump --mattr=+experimental-xqcicm -M no-aliases --no-print-imm-hex -d - \
# RUN:     | FileCheck -check-prefix=CHECK-INST %s
# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcicm -show-encoding \
# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-ALIAS %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcicm < %s \
# RUN:     | llvm-objdump --mattr=+experimental-xqcicm --no-print-imm-hex -d - \
# RUN:     | FileCheck -check-prefix=CHECK-INST %s

# CHECK-NOALIAS: qc.c.mveqz      s1, a0
# CHECK-ALIAS: qc.mveqi s1, s1, 0, a0
# CHECK-ENC: encoding: [0x06,0xad]
qc.c.mveqz x9, x10


# CHECK-INST: qc.mveq s1, a0, a1, a2
# CHECK-ENC: encoding: [0xdb,0x04,0xb5,0x60]
qc.mveq x9, x10, x11, x12


# CHECK-INST: qc.mvge s1, a0, a1, a2
# CHECK-ENC: encoding: [0xdb,0x54,0xb5,0x60]
qc.mvge x9, x10, x11, x12


# CHECK-INST: qc.mvgeu        s1, a0, a1, a2
# CHECK-ENC: encoding: [0xdb,0x74,0xb5,0x60]
qc.mvgeu x9, x10, x11, x12


# CHECK-INST: qc.mvlt s1, a0, a1, a2
# CHECK-ENC: encoding: [0xdb,0x44,0xb5,0x60]
qc.mvlt x9, x10, x11, x12


# CHECK-INST: qc.mvltu        s1, a0, a1, a2
# CHECK-ENC: encoding: [0xdb,0x64,0xb5,0x60]
qc.mvltu x9, x10, x11, x12


# CHECK-INST: qc.mvne s1, a0, a1, a2
# CHECK-ENC: encoding: [0xdb,0x14,0xb5,0x60]
qc.mvne x9, x10, x11, x12


# CHECK-INST: qc.mveqi        s1, a0, 5, a2
# CHECK-ENC: encoding: [0xdb,0x04,0x55,0x64]
qc.mveqi x9, x10, 5, x12

# CHECK-INST: qc.mveqi        s1, a0, -16, a2
# CHECK-ENC: encoding: [0xdb,0x04,0x05,0x65]
qc.mveqi x9, x10, -16, x12

# CHECK-INST: qc.mveqi        s1, a0, 15, a2
# CHECK-ENC: encoding: [0xdb,0x04,0xf5,0x64]
qc.mveqi x9, x10, 15, x12


# CHECK-INST: qc.mvgei        s1, a0, 5, a2
# CHECK-ENC: encoding: [0xdb,0x54,0x55,0x64]
qc.mvgei x9, x10, 5, x12

# CHECK-INST: qc.mvgei        s1, a0, -16, a2
# CHECK-ENC: encoding: [0xdb,0x54,0x05,0x65]
qc.mvgei x9, x10, -16, x12

# CHECK-INST: qc.mvgei        s1, a0, 15, a2
# CHECK-ENC: encoding: [0xdb,0x54,0xf5,0x64]
qc.mvgei x9, x10, 15, x12


# CHECK-INST: qc.mvlti        s1, a0, 5, a2
# CHECK-ENC: encoding: [0xdb,0x44,0x55,0x64]
qc.mvlti x9, x10, 5, x12

# CHECK-INST: qc.mvlti        s1, a0, -16, a2
# CHECK-ENC: encoding: [0xdb,0x44,0x05,0x65]
qc.mvlti x9, x10, -16, x12

# CHECK-INST: qc.mvlti        s1, a0, 15, a2
# CHECK-ENC: encoding: [0xdb,0x44,0xf5,0x64]
qc.mvlti x9, x10, 15, x12


# CHECK-INST: qc.mvnei        s1, a0, 5, a2
# CHECK-ENC: encoding: [0xdb,0x14,0x55,0x64]
qc.mvnei x9, x10, 5, x12

# CHECK-INST: qc.mvnei        s1, a0, -16, a2
# CHECK-ENC: encoding: [0xdb,0x14,0x05,0x65]
qc.mvnei x9, x10, -16, x12

# CHECK-INST: qc.mvnei        s1, a0, 15, a2
# CHECK-ENC: encoding: [0xdb,0x14,0xf5,0x64]
qc.mvnei x9, x10, 15, x12


# CHECK-INST: qc.mvltui       s1, a0, 5, a2
# CHECK-ENC: encoding: [0xdb,0x64,0x55,0x64]
qc.mvltui x9, x10, 5, x12

# CHECK-INST: qc.mvltui       s1, a0, 0, a2
# CHECK-ENC: encoding: [0xdb,0x64,0x05,0x64]
qc.mvltui x9, x10, 0, x12

# CHECK-INST: qc.mvltui       s1, a0, 31, a2
# CHECK-ENC: encoding: [0xdb,0x64,0xf5,0x65]
qc.mvltui x9, x10, 31, x12


# CHECK-INST: qc.mvgeui       s1, a0, 5, a2
# CHECK-ENC: encoding: [0xdb,0x74,0x55,0x64]
qc.mvgeui x9, x10, 5, x12

# CHECK-INST: qc.mvgeui       s1, a0, 0, a2
# CHECK-ENC: encoding: [0xdb,0x74,0x05,0x64]
qc.mvgeui x9, x10, 0, x12

# CHECK-INST: qc.mvgeui       s1, a0, 31, a2
# CHECK-ENC: encoding: [0xdb,0x74,0xf5,0x65]
qc.mvgeui x9, x10, 31, x12

# Check that compress pattern for qc.mveqi works

# CHECK-NOALIAS: qc.c.mveqz s1, a2
# CHECK-ALIAS: qc.mveqi s1, s1, 0, a2
# CHECK-ENC: encoding: [0x06,0xae]
qc.mveqi x9, x9, 0, x12

# CHECK-NOALIAS: qc.c.mveqz s1, a2
# CHECK-ALIAS: qc.mveqi s1, s1, 0, a2
# CHECK-ENC: encoding: [0x06,0xae]
qc.mvltui x9, x9, 1, x12

# Following instruction should not be compressed

# CHECK-INST: qc.mveqi a0, s1, 0, a2
# CHECK-ENC: encoding: [0x5b,0x85,0x04,0x64]
qc.mveqi x10, x9, 0, x12