use crate::*;
const ALIGNED_ADDR: u64 = 0x3000;
#[test]
fn test_vtestps_xmm0_xmm1() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm1_xmm2() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm2_xmm3() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm3_xmm4() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm4_xmm5() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm5_xmm6() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm6_xmm7() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm7_xmm0() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm8_xmm9() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm9_xmm10() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm10_xmm11() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm11_xmm12() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm12_xmm13() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm13_xmm14() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm14_xmm15() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm15_xmm8() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm0_xmm8() {
let mut emu = emu64();
let code = [
0xc4, 0xc2, 0x79, 0x0e, 0xc0, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm8_xmm0() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0e, 0xc0, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm7_xmm15() {
let mut emu = emu64();
let code = [
0xc4, 0xc2, 0x79, 0x0e, 0xff, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm0_mem() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 16] = [0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm1_mem() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0x0d, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 16] = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_xmm8_mem() {
let mut emu = emu64();
let code = [
0xc4, 0x62, 0x79, 0x0e, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 16] = [0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm0_ymm1() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm1_ymm2() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm2_ymm3() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm3_ymm4() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm4_ymm5() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm5_ymm6() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm6_ymm7() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm7_ymm0() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm8_ymm9() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x7d, 0x0e, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm15_ymm14() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x7d, 0x0e, 0xfe, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm0_mem() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0e, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 32] = [0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_ymm8_mem() {
let mut emu = emu64();
let code = [
0xc4, 0x62, 0x7d, 0x0e, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 32] = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm0_xmm1() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm1_xmm2() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm2_xmm3() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm3_xmm4() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm4_xmm5() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm5_xmm6() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xee, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm6_xmm7() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xf7, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm7_xmm0() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm8_xmm9() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0f, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm9_xmm10() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0f, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm10_xmm11() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0f, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm15_xmm14() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x79, 0x0f, 0xfe, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm0_mem() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 16] = [0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_xmm8_mem() {
let mut emu = emu64();
let code = [
0xc4, 0x62, 0x79, 0x0f, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 16] = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm0_ymm1() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0f, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm1_ymm2() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0f, 0xca, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm2_ymm3() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0f, 0xd3, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm3_ymm4() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0f, 0xdc, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm4_ymm5() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0f, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm8_ymm9() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x7d, 0x0f, 0xc1, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm15_ymm8() {
let mut emu = emu64();
let code = [
0xc4, 0x42, 0x7d, 0x0f, 0xf8, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm0_mem() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x7d, 0x0f, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 32] = [0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_ymm8_mem() {
let mut emu = emu64();
let code = [
0xc4, 0x62, 0x7d, 0x0f, 0x05, 0x00, 0x40, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
let test_data: [u8; 32] = [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00];
emu.maps.write_bytes_slice(ALIGNED_ADDR, &test_data);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_after_vcmpps() {
let mut emu = emu64();
let code = [
0xc5, 0xf0, 0xc2, 0xc2, 0x00, 0xc4, 0xe2, 0x79, 0x0e, 0xc0, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_after_vcmppd() {
let mut emu = emu64();
let code = [
0xc5, 0xf1, 0xc2, 0xc2, 0x00, 0xc4, 0xe2, 0x79, 0x0f, 0xc0, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestps_multiple_tests() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0e, 0xc1, 0xc4, 0xe2, 0x79, 0x0e, 0xd3, 0xc4, 0xe2, 0x79, 0x0e, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_vtestpd_multiple_tests() {
let mut emu = emu64();
let code = [
0xc4, 0xe2, 0x79, 0x0f, 0xc1, 0xc4, 0xe2, 0x79, 0x0f, 0xd3, 0xc4, 0xe2, 0x79, 0x0f, 0xe5, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}