Skip to content

Commit a7cc2c2

Browse files
committed
riscv: P extension intrinsics for packed SIMD (part 1)
Implement by inline assembly for now, uses `pure, nomem, nostack` for all packed simd arithmetic instructions. Uses `inlateout` when it requires using the same register for input and output. This commit also includes a rearrangement of shared risc-v architecture module to improve documents.
1 parent 3fd17e4 commit a7cc2c2

File tree

3 files changed

+1067
-4
lines changed

3 files changed

+1067
-4
lines changed

crates/core_arch/src/mod.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
#[macro_use]
44
mod macros;
55

6+
#[cfg(any(target_arch = "riscv32", target_arch = "riscv64", doc))]
7+
mod riscv_shared;
8+
69
#[cfg(any(target_arch = "arm", target_arch = "aarch64", doc))]
710
mod arm_shared;
811

@@ -276,10 +279,6 @@ mod aarch64;
276279
#[doc(cfg(any(target_arch = "arm")))]
277280
mod arm;
278281

279-
#[cfg(any(target_arch = "riscv32", target_arch = "riscv64", doc))]
280-
#[doc(cfg(any(target_arch = "riscv32", target_arch = "riscv64")))]
281-
mod riscv_shared;
282-
283282
#[cfg(any(target_arch = "riscv64", doc))]
284283
#[doc(cfg(any(target_arch = "riscv64")))]
285284
mod riscv64;

crates/core_arch/src/riscv_shared/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
//! Shared RISC-V intrinsics
2+
mod p;
3+
4+
pub use p::*;
25

36
use crate::arch::asm;
47

0 commit comments

Comments
 (0)