From 582040e5d3f6a5fb5b9046964b6823891d2802dd Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sun, 13 Oct 2024 12:59:47 +0200 Subject: Implement comparison operators --- lib/Language/Elna/Backend/Allocator.hs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/Language/Elna/Backend/Allocator.hs') diff --git a/lib/Language/Elna/Backend/Allocator.hs b/lib/Language/Elna/Backend/Allocator.hs index bdbccab..2b410a3 100644 --- a/lib/Language/Elna/Backend/Allocator.hs +++ b/lib/Language/Elna/Backend/Allocator.hs @@ -54,6 +54,16 @@ allocate MachineConfiguration{..} = fmap function quadruple (GoToQuadruple label) = GoToQuadruple label quadruple (EqualQuadruple operand1 operand2 goToLabel) = EqualQuadruple (operand operand1) (operand operand2) goToLabel + quadruple (NonEqualQuadruple operand1 operand2 goToLabel) = + NonEqualQuadruple (operand operand1) (operand operand2) goToLabel + quadruple (LessQuadruple operand1 operand2 goToLabel) = + LessQuadruple (operand operand1) (operand operand2) goToLabel + quadruple (GreaterQuadruple operand1 operand2 goToLabel) = + GreaterQuadruple (operand operand1) (operand operand2) goToLabel + quadruple (LessOrEqualQuadruple operand1 operand2 goToLabel) = + LessOrEqualQuadruple (operand operand1) (operand operand2) goToLabel + quadruple (GreaterOrEqualQuadruple operand1 operand2 goToLabel) = + GreaterOrEqualQuadruple (operand operand1) (operand operand2) goToLabel operand :: Operand Variable -> Operand (Store r) operand (IntOperand x) = IntOperand x operand (VariableOperand (TempVariable index)) -- cgit v1.2.3