Skip to content

Commit 90e5d8e

Browse files
committed
Fix: Assembly mistakes in RISC-V Zk extensions
1 parent c317a04 commit 90e5d8e

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

crates/core_arch/src/riscv32/zk.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,6 @@ pub unsafe fn aes32dsi(rs1: u32, rs2: u32, bs: u8) -> u32 {
142142
constify_imm2!(bs, aes32dsi)
143143
}
144144

145-
#[target_feature(enable = "zknd")]
146-
#[cfg_attr(test, assert_instr(aes32dsmi))]
147-
#[inline]
148145
/// AES middle round decryption instruction for RV32.
149146
///
150147
/// This instruction sources a single byte from rs2 according to bs. To this it applies the
@@ -166,6 +163,9 @@ pub unsafe fn aes32dsi(rs1: u32, rs2: u32, bs: u8) -> u32 {
166163
/// # Safety
167164
///
168165
/// This function is safe to use if the `zknd` target feature is present.
166+
#[target_feature(enable = "zknd")]
167+
#[cfg_attr(test, assert_instr(aes32dsmi))]
168+
#[inline]
169169
pub unsafe fn aes32dsmi(rs1: u32, rs2: u32, bs: u8) -> u32 {
170170
macro_rules! aes32dsmi {
171171
($imm2:expr) => {{

crates/core_arch/src/riscv64/zk.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ pub unsafe fn aes64dsm(rs1: u64, rs2: u64) -> u64 {
142142
let value: u64;
143143
unsafe {
144144
asm!(
145-
"aes64esm {rd},{rs1},{rs2}",
145+
"aes64dsm {rd},{rs1},{rs2}",
146146
rd = lateout(reg) value,
147147
rs1 = in(reg) rs1,
148148
rs2 = in(reg) rs2,
@@ -378,7 +378,7 @@ pub unsafe fn sha512sum1(rs1: u64) -> u64 {
378378
let value: u64;
379379
unsafe {
380380
asm!(
381-
"sha512sum0 {rd},{rs1}",
381+
"sha512sum1 {rd},{rs1}",
382382
rd = lateout(reg) value,
383383
rs1 = in(reg) rs1,
384384
options(pure, nomem, nostack),

crates/core_arch/src/riscv_shared/zk.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ pub unsafe fn sha256sum0(rs1: usize) -> usize {
267267
let value: usize;
268268
unsafe {
269269
asm!(
270-
"sha256sig1 {rd},{rs1}",
270+
"sha256sum0 {rd},{rs1}",
271271
rd = lateout(reg) value,
272272
rs1 = in(reg) rs1,
273273
options(pure, nomem, nostack),
@@ -302,7 +302,7 @@ pub unsafe fn sha256sum1(rs1: usize) -> usize {
302302
let value: usize;
303303
unsafe {
304304
asm!(
305-
"sha256sig1 {rd},{rs1}",
305+
"sha256sum1 {rd},{rs1}",
306306
rd = lateout(reg) value,
307307
rs1 = in(reg) rs1,
308308
options(pure, nomem, nostack),

0 commit comments

Comments
 (0)