diff --git a/src/pystencils/backend/platforms/generic_cpu.py b/src/pystencils/backend/platforms/generic_cpu.py
index 7cb37870365b7f14375f81d002580bdcc637be13..ea7799a14d4ca2e1eae956d70ac61aab9a9f7029 100644
--- a/src/pystencils/backend/platforms/generic_cpu.py
+++ b/src/pystencils/backend/platforms/generic_cpu.py
@@ -3,8 +3,8 @@ from typing import Sequence
 
 from pystencils.backend.ast.expressions import PsCall
 
-from ..functions import CFunction, PsMathFunction, MathFunctions
-from ...types import PsIntegerType, PsIeeeFloatType
+from ..functions import CFunction, PsMathFunction, MathFunctions, NumericLimitsFunctions
+from ...types import PsIntegerType, PsIeeeFloatType, PsScalarType
 
 from .platform import Platform
 from ..exceptions import MaterializationError
@@ -62,7 +62,10 @@ class GenericCpu(Platform):
         dtype = call.get_dtype()
         arg_types = (dtype,) * func.num_args
 
-        # TODO: numeric limits
+        if isinstance(dtype, PsScalarType) and func in (NumericLimitsFunctions.Min, NumericLimitsFunctions.Max):
+            cfunc = CFunction(f"{dtype.c_string()}_{func.function_name}".capitalize(), arg_types, dtype)
+            call.function = cfunc
+            return call
 
         if isinstance(dtype, PsIeeeFloatType) and dtype.width in (32, 64):
             cfunc: CFunction