From c5fbc0cc82e743f7b4d5d8727129f8ff3d531555 Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Tue, 4 Aug 2020 17:18:10 +0800 Subject: [PATCH] asm: use llvm_asm! macro() This has been adjusted as part of the drive to stabilize the asm!() macro. Signed-off-by: Sean Cross --- Cargo.toml | 2 +- src/register/macros.rs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a899aa0..3e376f6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "vexriscv" -version = "0.0.2" +version = "0.0.3" repository = "https://github.com/xobs/vexriscv-rust" authors = ["Sean Cross ", "The RISC-V Team "] categories = ["embedded", "hardware-support", "no-std"] diff --git a/src/register/macros.rs b/src/register/macros.rs index 6ae98c8..5d3566d 100644 --- a/src/register/macros.rs +++ b/src/register/macros.rs @@ -9,7 +9,7 @@ macro_rules! read_csr { #[cfg(all(riscv, feature = "inline-asm"))] () => { let r: usize; - asm!("csrrs $0, $1, x0" : "=r"(r) : "i"($csr_number) :: "volatile"); + llvm_asm!("csrrs $0, $1, x0" : "=r"(r) : "i"($csr_number) :: "volatile"); r } @@ -38,7 +38,7 @@ macro_rules! read_csr_rv32 { #[cfg(all(riscv32, feature = "inline-asm"))] () => { let r: usize; - asm!("csrrs $0, $1, x0" : "=r"(r) : "i"($csr_number) :: "volatile"); + llvm_asm!("csrrs $0, $1, x0" : "=r"(r) : "i"($csr_number) :: "volatile"); r } @@ -102,7 +102,7 @@ macro_rules! write_csr { unsafe fn _write(bits: usize) { match () { #[cfg(all(riscv, feature = "inline-asm"))] - () => asm!("csrrw x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), + () => llvm_asm!("csrrw x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), #[cfg(all(riscv, not(feature = "inline-asm")))] () => { @@ -128,7 +128,7 @@ macro_rules! write_csr_rv32 { unsafe fn _write(bits: usize) { match () { #[cfg(all(riscv32, feature = "inline-asm"))] - () => asm!("csrrw x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), + () => llvm_asm!("csrrw x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), #[cfg(all(riscv32, not(feature = "inline-asm")))] () => { @@ -178,7 +178,7 @@ macro_rules! set { unsafe fn _set(bits: usize) { match () { #[cfg(all(riscv, feature = "inline-asm"))] - () => asm!("csrrs x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), + () => llvm_asm!("csrrs x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), #[cfg(all(riscv, not(feature = "inline-asm")))] () => { @@ -204,7 +204,7 @@ macro_rules! clear { unsafe fn _clear(bits: usize) { match () { #[cfg(all(riscv, feature = "inline-asm"))] - () => asm!("csrrc x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), + () => llvm_asm!("csrrc x0, $1, $0" :: "r"(bits), "i"($csr_number) :: "volatile"), #[cfg(all(riscv, not(feature = "inline-asm")))] () => {