Add Lowlevel::And

This commit is contained in:
Ahmad Sattar 2023-02-16 21:01:12 +01:00
parent 82c0aa083d
commit f8b0a99e6d
No known key found for this signature in database
GPG key ID: 457C18819D9C9570
3 changed files with 41 additions and 0 deletions

View file

@ -1132,6 +1132,22 @@ impl<
}
}
fn build_and(&mut self, dst: &Symbol, src1: &Symbol, src2: &Symbol, arg_layout: &InLayout<'a>) {
match *arg_layout {
Layout::BOOL => {
let dst_reg = self.storage_manager.claim_general_reg(&mut self.buf, dst);
let src1_reg = self
.storage_manager
.load_to_general_reg(&mut self.buf, src1);
let src2_reg = self
.storage_manager
.load_to_general_reg(&mut self.buf, src2);
ASM::and_reg64_reg64_reg64(&mut self.buf, dst_reg, src1_reg, src2_reg);
}
x => todo!("And: layout, {:?}", x),
}
}
fn build_num_lt(
&mut self,
dst: &Symbol,