use crate::*;
const ALIGNED_ADDR: u64 = 0x3000; const UNALIGNED_ADDR: u64 = 0x3001;
#[test]
fn test_movntdq_mem_xmm0() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x04, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm1() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x0c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm2() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x14, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm3() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x1c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm4() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x24, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm5() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x2c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm6() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x34, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm7() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x3c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm8() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x04, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm9() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x0c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm10() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x14, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm11() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x1c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm12() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x24, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm13() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x2c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm14() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x34, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_mem_xmm15() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x3c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_aligned_16byte_boundary() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x04, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_aligned_32byte_boundary() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x0c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_data_integrity_zeros() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x14, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_data_integrity_ones() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x1c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_data_integrity_pattern() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x24, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_non_temporal_hint() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x2c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_sequential_stores() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x34, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_write_combining() {
let mut emu = emu64();
let code = [
0x66, 0x0f, 0xe7, 0x3c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_with_different_addresses_1() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x04, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_with_different_addresses_2() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x0c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_memory_ordering() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x14, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_cache_bypass() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x1c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_weakly_ordered_memory() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x24, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_movntdq_full_128bit_data() {
let mut emu = emu64();
let code = [
0x66, 0x44, 0x0f, 0xe7, 0x2c, 0x25, 0x00, 0x30, 0x00, 0x00, 0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}