ab_riscv_interpreter/rv64/b/zbb/
rv64_zbb_helpers.rs1#[inline(always)]
4#[doc(hidden)]
5#[cfg_attr(feature = "no-panic", no_panic_const::no_panic)]
6pub fn orc_b(src: u64) -> u64 {
7 cfg_select! {
9 all(not(miri), target_arch = "riscv64", target_feature = "zbb") => {
10 unsafe { core::arch::riscv64::orc_b(src as usize) as u64 }
12 }
13 _ => {{
14 let mut bytes = src.to_le_bytes();
15 for byte in &mut bytes {
17 *byte = if *byte != 0 { 0xFF } else { 0 };
18 }
19 u64::from_le_bytes(bytes)
20 }}
21 }
22}