Skip to content

Commit a210a29

Browse files
committed
Expand RISCV pseudo-instructions to match LLVM 11
1 parent 636ca7a commit a210a29

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

src/test/assembly/asm/riscv-types.rs

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ pub unsafe fn sym_fn() {
5555

5656
// CHECK-LABEL: sym_static:
5757
// CHECK: #APP
58-
// CHECK: lb t0, extern_static
58+
// CHECK: auipc t0, %pcrel_hi(extern_static)
59+
// CHECK: lb t0, %pcrel_lo(.Lpcrel_hi0)(t0)
5960
// CHECK: #NO_APP
6061
#[no_mangle]
6162
pub unsafe fn sym_static() {
@@ -98,45 +99,45 @@ macro_rules! check_reg {
9899

99100
// CHECK-LABEL: reg_i8:
100101
// CHECK: #APP
101-
// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
102+
// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
102103
// CHECK: #NO_APP
103104
check!(reg_i8 i8 reg "mv");
104105

105106
// CHECK-LABEL: reg_i16:
106107
// CHECK: #APP
107-
// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
108+
// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
108109
// CHECK: #NO_APP
109110
check!(reg_i16 i16 reg "mv");
110111

111112
// CHECK-LABEL: reg_i32:
112113
// CHECK: #APP
113-
// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
114+
// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
114115
// CHECK: #NO_APP
115116
check!(reg_i32 i32 reg "mv");
116117

117118
// CHECK-LABEL: reg_f32:
118119
// CHECK: #APP
119-
// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
120+
// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
120121
// CHECK: #NO_APP
121122
check!(reg_f32 f32 reg "mv");
122123

123124
// riscv64-LABEL: reg_i64:
124125
// riscv64: #APP
125-
// riscv64: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
126+
// riscv64: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
126127
// riscv64: #NO_APP
127128
#[cfg(riscv64)]
128129
check!(reg_i64 i64 reg "mv");
129130

130131
// riscv64-LABEL: reg_f64:
131132
// riscv64: #APP
132-
// riscv64: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
133+
// riscv64: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
133134
// riscv64: #NO_APP
134135
#[cfg(riscv64)]
135136
check!(reg_f64 f64 reg "mv");
136137

137138
// CHECK-LABEL: reg_ptr:
138139
// CHECK: #APP
139-
// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
140+
// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
140141
// CHECK: #NO_APP
141142
check!(reg_ptr ptr reg "mv");
142143

@@ -154,45 +155,45 @@ check!(freg_f64 f64 freg "fmv.d");
154155

155156
// CHECK-LABEL: a0_i8:
156157
// CHECK: #APP
157-
// CHECK: mv a0, a0
158+
// CHECK: add a0, zero, a0
158159
// CHECK: #NO_APP
159160
check_reg!(a0_i8 i8 "a0" "mv");
160161

161162
// CHECK-LABEL: a0_i16:
162163
// CHECK: #APP
163-
// CHECK: mv a0, a0
164+
// CHECK: add a0, zero, a0
164165
// CHECK: #NO_APP
165166
check_reg!(a0_i16 i16 "a0" "mv");
166167

167168
// CHECK-LABEL: a0_i32:
168169
// CHECK: #APP
169-
// CHECK: mv a0, a0
170+
// CHECK: add a0, zero, a0
170171
// CHECK: #NO_APP
171172
check_reg!(a0_i32 i32 "a0" "mv");
172173

173174
// CHECK-LABEL: a0_f32:
174175
// CHECK: #APP
175-
// CHECK: mv a0, a0
176+
// CHECK: add a0, zero, a0
176177
// CHECK: #NO_APP
177178
check_reg!(a0_f32 f32 "a0" "mv");
178179

179180
// riscv64-LABEL: a0_i64:
180181
// riscv64: #APP
181-
// riscv64: mv a0, a0
182+
// riscv64: add a0, zero, a0
182183
// riscv64: #NO_APP
183184
#[cfg(riscv64)]
184185
check_reg!(a0_i64 i64 "a0" "mv");
185186

186187
// riscv64-LABEL: a0_f64:
187188
// riscv64: #APP
188-
// riscv64: mv a0, a0
189+
// riscv64: add a0, zero, a0
189190
// riscv64: #NO_APP
190191
#[cfg(riscv64)]
191192
check_reg!(a0_f64 f64 "a0" "mv");
192193

193194
// CHECK-LABEL: a0_ptr:
194195
// CHECK: #APP
195-
// CHECK: mv a0, a0
196+
// CHECK: add a0, zero, a0
196197
// CHECK: #NO_APP
197198
check_reg!(a0_ptr ptr "a0" "mv");
198199

0 commit comments

Comments
 (0)