diff options
Diffstat (limited to 'src/kosmickrisp/compiler/msl_nir_algebraic.py')
| -rw-r--r-- | src/kosmickrisp/compiler/msl_nir_algebraic.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/kosmickrisp/compiler/msl_nir_algebraic.py b/src/kosmickrisp/compiler/msl_nir_algebraic.py new file mode 100644 index 00000000000..16d5fdaea9d --- /dev/null +++ b/src/kosmickrisp/compiler/msl_nir_algebraic.py @@ -0,0 +1,38 @@ +# Copyright 2025 LunarG, Inc. +# Copyright 2025 Google LLC +# Copyright 2022 Alyssa Rosenzweig +# Copyright 2021 Collabora, Ltd. +# Copyright 2016 Intel Corporation +# SPDX-License-Identifier: MIT + +import argparse +import sys +import math + +a = 'a' + +lower_pack = [ + # Based on the VIR lowering + (('f2f16_rtz', 'a@32'), + ('bcsel', ('flt', ('fabs', a), ('fabs', ('f2f32', ('f2f16_rtne', a)))), + ('isub', ('f2f16_rtne', a), 1), ('f2f16_rtne', a))), +] + + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('-p', '--import-path', required=True) + args = parser.parse_args() + sys.path.insert(0, args.import_path) + run() + +def run(): + import nir_algebraic # pylint: disable=import-error + + print('#include "msl_private.h"') + + print(nir_algebraic.AlgebraicPass("msl_nir_lower_algebraic_late", lower_pack).render()) + +if __name__ == '__main__': + main() |