make operator_instruction single ass

create result register automatically
usually not used, but register allocation will sort that
This commit is contained in:
2020-03-14 12:22:37 +02:00
parent 1378745907
commit 61fc8a3991
4 changed files with 43 additions and 9 deletions

View File

@ -94,7 +94,7 @@ module Minitest
assert_equal Risc::Branch , branch.class , "Class at:#{branch_i}"
assert_label branch.label , label_name , "Label at #{branch_i}"
end
def assert_operator ins_i , op , left , right
def assert_operator ins_i , op , left , right , result
if(ins_i.is_a?(Integer))
ins = risc(ins_i)
else
@ -105,6 +105,7 @@ module Minitest
assert_equal op , ins.operator
assert_register :left , left , ins.left , ins_i
assert_register :right , right , ins.right, ins_i
assert_register :result , result , ins.result, ins_i
end
def assert_zero ins_i , label
assert_equal Integer , ins_i.class, "assert_zero #{ins_i}"