#[inline(always)]
pub unsafe fn ldr_zt0_x0() {
core::arch::asm!(".word 0xE11F8000", options(nostack));
}
#[inline(always)]
pub unsafe fn str_zt0_x0() {
core::arch::asm!(".word 0xE13F8000", options(nostack));
}
#[inline(always)]
pub unsafe fn zero_zt0() {
core::arch::asm!(".word 0xC0480001", options(nostack));
}
#[inline(always)]
pub unsafe fn luti4_b<const ZD: u32, const ZN: u32, const IDX: u32>() {
const { assert!(ZD < 32 && ZN < 32 && IDX < 4) };
core::arch::asm!(
".word {enc}",
enc = const 0xC0CA0000 | (IDX << 14) | (ZN << 5) | ZD,
options(nostack),
);
}
#[inline(always)]
pub unsafe fn luti4_s<const ZD: u32, const ZN: u32, const IDX: u32>() {
const { assert!(ZD < 32 && ZN < 32 && IDX < 2) };
core::arch::asm!(
".word {enc}",
enc = const 0xC0CA2000 | (IDX << 14) | (ZN << 5) | ZD,
options(nostack),
);
}
#[inline(always)]
pub unsafe fn luti2_b<const ZD: u32, const ZN: u32, const IDX: u32>() {
const { assert!(ZD < 32 && ZN < 32 && IDX < 8) };
core::arch::asm!(
".word {enc}",
enc = const 0xC0CC0000 | (IDX << 14) | (ZN << 5) | ZD,
options(nostack),
);
}