use crate::*;
const ALIGNED_ADDR: u64 = 0x3000;
#[test]
fn test_packusdw_xmm0_xmm1_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xc1,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm1_xmm2_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xca,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm2_xmm3_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xd3,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm3_xmm4_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xdc,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm4_xmm5_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xe5,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm5_xmm6_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xee,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm6_xmm7_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xf7,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm7_xmm0_basic() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xf8,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm8_xmm9() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xc1,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm9_xmm10() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xca,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm10_xmm11() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xd3,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm11_xmm12() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xdc,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm12_xmm13() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xe5,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm13_xmm14() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xee,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm14_xmm15() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xf7,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm15_xmm8() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xf8,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm0_xmm8() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xc0,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm1_xmm9() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xc9,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm2_xmm10() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xd2,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm3_xmm11() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xdb,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm4_xmm12() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xe4,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm5_xmm13() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xed,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm6_xmm14() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xf6,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm7_xmm15() {
let mut emu = emu64();
let code = [0x66, 0x41, 0x0f, 0x38, 0x2b, 0xff,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm8_xmm0() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xc0,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm9_xmm1() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xc9,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm10_xmm2() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xd2,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm11_xmm3() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xdb,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm12_xmm4() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xe4,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm13_xmm5() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xed,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm14_xmm6() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xf6,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm15_xmm7() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xff,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm0_xmm0_same() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xc0,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_xmm8_xmm8_same() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xc0,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_sequential() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xc1, 0x66, 0x0f, 0x38, 0x2b, 0xd3, 0x66, 0x0f, 0x38, 0x2b, 0xe5,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_chain() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xc1, 0x66, 0x0f, 0x38, 0x2b, 0xd0, 0x66, 0x0f, 0x38, 0x2b, 0xda,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_all_high_regs() {
let mut emu = emu64();
let code = [0x66, 0x45, 0x0f, 0x38, 0x2b, 0xc1, 0x66, 0x45, 0x0f, 0x38, 0x2b, 0xd3, 0x66, 0x45, 0x0f, 0x38, 0x2b, 0xe5,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_cross_boundary() {
let mut emu = emu64();
let code = [0x66, 0x44, 0x0f, 0x38, 0x2b, 0xc7, 0x66, 0x41, 0x0f, 0x38, 0x2b, 0xf8,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_alternating() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xc1, 0x66, 0x45, 0x0f, 0x38, 0x2b, 0xc1, 0x66, 0x0f, 0x38, 0x2b, 0xd3,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}
#[test]
fn test_packusdw_bidirectional() {
let mut emu = emu64();
let code = [0x66, 0x0f, 0x38, 0x2b, 0xc1, 0x66, 0x0f, 0x38, 0x2b, 0xc8,
0xf4, ];
emu.load_code_bytes(&code);
emu.run(None).unwrap();
}