juicebox_asm/insn/xor.rs
1// SPDX-License-Identifier: MIT
2//
3// Copyright (c) 2024, Johannes Stoelp <dev@memzero.de>
4
5use super::Xor;
6use crate::{Asm, Imm32, Reg32, Reg64};
7
8impl Xor<Reg32, Reg32> for Asm {
9 fn xor(&mut self, op1: Reg32, op2: Reg32) {
10 self.encode_rr_mr(&[0x31], op1, op2);
11 }
12}
13
14impl Xor<Reg64, Reg64> for Asm {
15 fn xor(&mut self, op1: Reg64, op2: Reg64) {
16 self.encode_rr_mr(&[0x31], op1, op2);
17 }
18}
19
20impl Xor<Reg32, Imm32> for Asm {
21 fn xor(&mut self, op1: Reg32, op2: Imm32) {
22 self.encode_ri(0x81, 0x6, op1, op2);
23 }
24}