* fixed WebAssembly code generation for 'if boolean64 then ... else ...'

This commit is contained in:
Nikolay Nikolov 2021-10-01 02:47:08 +03:00
parent 4d571a1928
commit 2e5b895d70

View File

@ -213,6 +213,13 @@ implementation
secondpass(left); // condition exprssions
thlcgwasm(hlcg).a_load_loc_stack(current_asmdata.CurrAsmList,left.resultdef,left.location);
if is_64bit(left.resultdef) then
begin
thlcgwasm(hlcg).a_load_const_stack(current_asmdata.CurrAsmList,left.resultdef,0,R_INTREGISTER);
current_asmdata.CurrAsmList.Concat(taicpu.op_none(a_i64_ne));
thlcgwasm(hlcg).decstack(current_asmdata.CurrAsmList,1);
end;
current_asmdata.CurrAsmList.concat(taicpu.op_none(a_if));
thlcgwasm(hlcg).incblock;
thlcgwasm(hlcg).decstack(current_asmdata.CurrAsmList,1);