зеркало из https://github.com/github/ruby.git
Add stores to one of the tests
This commit is contained in:
Родитель
1923842b3d
Коммит
abea8c8983
|
@ -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 => {
|
||||
|
|
Загрузка…
Ссылка в новой задаче