Add stores to one of the tests

This commit is contained in:
Maxime Chevalier-Boisvert 2022-06-15 16:16:33 -04:00 коммит произвёл Takashi Kokubun
Родитель 1923842b3d
Коммит abea8c8983
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 6FFC433B12EE23DD
3 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -86,6 +86,7 @@ pub enum Op
// Low-level conditional jump instructions
Jbe,
Je,
Jz,
Jnz,
// Push and pop registers to/from the C stack
@ -707,6 +708,7 @@ macro_rules! def_push_2_opnd_no_out {
def_push_1_opnd_no_out!(jmp_opnd, Op::JmpOpnd);
def_push_jcc!(je, Op::Je);
def_push_jcc!(jbe, Op::Jbe);
def_push_jcc!(jz, Op::Jz);
def_push_jcc!(jnz, Op::Jnz);
def_push_2_opnd!(add, Op::Add);
def_push_2_opnd!(sub, Op::Sub);

Просмотреть файл

@ -146,8 +146,12 @@ fn test_reuse_reg()
let v0 = asm.add(Opnd::mem(64, SP, 0), Opnd::UImm(1));
let v1 = asm.add(Opnd::mem(64, SP, 8), Opnd::UImm(1));
let v2 = asm.add(v0, Opnd::UImm(1));
asm.add(v0, v2);
let v2 = asm.add(v0, Opnd::UImm(1)); // Reuse v1 register
let v3 = asm.add(v0, v2);
asm.store(Opnd::mem(64, SP, 0), v2);
asm.store(Opnd::mem(64, SP, 8), v3);
asm.compile_with_num_regs(&mut cb, 2);
}

Просмотреть файл

@ -187,7 +187,10 @@ impl Assembler
Op::JmpOpnd => jmp_rm(cb, insn.opnds[0].into()),
// Conditional jump to a label
Op::Je => je_label(cb, insn.target.unwrap().unwrap_label_idx()),
Op::Jz => jz_label(cb, insn.target.unwrap().unwrap_label_idx()),
Op::Jnz => jnz_label(cb, insn.target.unwrap().unwrap_label_idx()),
// Atomically increment a counter at a given memory location
Op::IncrCounter => {