YJIT: Respect destination num_bits on STUR (#6848)
This commit is contained in:
parent
8ffa8fc192
commit
dcbea7671b
Notes:
git
2022-12-02 00:14:03 +00:00
Merged-By: k0kubun <takashikkbn@gmail.com>
@ -906,7 +906,7 @@ pub fn stur(cb: &mut CodeBlock, rt: A64Opnd, rn: A64Opnd) {
|
|||||||
assert!(rn.num_bits == 32 || rn.num_bits == 64);
|
assert!(rn.num_bits == 32 || rn.num_bits == 64);
|
||||||
assert!(mem_disp_fits_bits(rn.disp), "Expected displacement to be 9 bits or less");
|
assert!(mem_disp_fits_bits(rn.disp), "Expected displacement to be 9 bits or less");
|
||||||
|
|
||||||
LoadStore::stur(rt.reg_no, rn.base_reg_no, rn.disp as i16, rt.num_bits).into()
|
LoadStore::stur(rt.reg_no, rn.base_reg_no, rn.disp as i16, rn.num_bits).into()
|
||||||
},
|
},
|
||||||
_ => panic!("Invalid operand combination to stur instruction.")
|
_ => panic!("Invalid operand combination to stur instruction.")
|
||||||
};
|
};
|
||||||
@ -1499,10 +1499,15 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_stur() {
|
fn test_stur_64_bits() {
|
||||||
check_bytes("6a0108f8", |cb| stur(cb, X10, A64Opnd::new_mem(64, X11, 128)));
|
check_bytes("6a0108f8", |cb| stur(cb, X10, A64Opnd::new_mem(64, X11, 128)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_stur_32_bits() {
|
||||||
|
check_bytes("6a0108b8", |cb| stur(cb, X10, A64Opnd::new_mem(32, X11, 128)));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_sub_reg() {
|
fn test_sub_reg() {
|
||||||
check_bytes("200002cb", |cb| sub(cb, X0, X1, X2));
|
check_bytes("200002cb", |cb| sub(cb, X0, X1, X2));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user