|
@@ -44,6 +44,7 @@ interface
|
|
procedure second_cmp64bit;override;
|
|
procedure second_cmp64bit;override;
|
|
procedure second_add64bit; override;
|
|
procedure second_add64bit; override;
|
|
procedure second_cmpordinal;override;
|
|
procedure second_cmpordinal;override;
|
|
|
|
+ procedure second_cmpsmallset;override;
|
|
|
|
|
|
// special treatement for short-boolean expressions
|
|
// special treatement for short-boolean expressions
|
|
// using IF block, instead of direct labels
|
|
// using IF block, instead of direct labels
|
|
@@ -260,6 +261,21 @@ interface
|
|
second_generic_compare(not is_signed(left.resultdef));
|
|
second_generic_compare(not is_signed(left.resultdef));
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+
|
|
|
|
+ procedure twasmaddnode.second_cmpsmallset;
|
|
|
|
+ begin
|
|
|
|
+ case nodetype of
|
|
|
|
+ equaln,unequaln:
|
|
|
|
+ second_generic_compare(true);
|
|
|
|
+ lten,gten:
|
|
|
|
+ { not implemented yet }
|
|
|
|
+ internalerror(2021060104);
|
|
|
|
+ else
|
|
|
|
+ internalerror(2021060103);
|
|
|
|
+ end;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+
|
|
procedure twasmaddnode.second_addboolean;
|
|
procedure twasmaddnode.second_addboolean;
|
|
begin
|
|
begin
|
|
if (nodetype in [orn,andn]) and
|
|
if (nodetype in [orn,andn]) and
|