figure out header file approach to have machine independent IR support for SIMD