1# 2# Copyright © 2016 Intel Corporation 3# 4# SPDX-License-Identifier: MIT 5 6import argparse 7import sys 8 9trig_workarounds = [ 10 (('fsin', 'x@32'), ('fsin', ('!ffma', 6.2831853, ('ffract', ('!ffma', 0.15915494, 'x', 0.5)), -3.14159265))), 11 (('fcos', 'x@32'), ('fcos', ('!ffma', 6.2831853, ('ffract', ('!ffma', 0.15915494, 'x', 0.5)), -3.14159265))), 12] 13 14 15def main(): 16 parser = argparse.ArgumentParser() 17 parser.add_argument('-p', '--import-path', required=True) 18 args = parser.parse_args() 19 sys.path.insert(0, args.import_path) 20 run() 21 22 23def run(): 24 import nir_algebraic # pylint: disable=import-error 25 26 print('#include "ir3_nir.h"') 27 print(nir_algebraic.AlgebraicPass("ir3_nir_apply_trig_workarounds", 28 trig_workarounds).render()) 29 30 31if __name__ == '__main__': 32 main() 33