STM32H7 question: ARM cortex M7 intrinsics emulation on x86 PC ?

Hi,

We have developped and qualified a huge MATLAB simulation environment for different Signal Processing algorithms.

In a first step, the algorithms have been rewritten in "pure" C and encapsulated in Matlab mex functions so that we are still able to run the C version of the algorithms in the original MATLAB simulation on x86 PC.

Thus we are able to perform full qualification of the algorithms trough intensive Matlab scripts.

In a second step, these algorithms have been compiled for ARM Cortex M7 (we are using Nucleo eval board to validate everything is fine).

Now, we want to optimize the algorithms and we are using Cortex M7 intrinsics and SIMD instructions in this aim.

But as a result, the final code is no longer usable in the MATLAB simulation on PC.

Is there a way to emulate these intrinsics for x86 ? It could be by using a C library or C prototyping of the Cortex specific dedicated instructions ?

Of course, PC emulation could understandably be catastrophic in terms of resources and timing performances, the only criteria we are targeting is bit-exactness (to comply with existing simulation results).

For such ARM intrinsic functions, where could we find some kind of C library or prototyping which will allow us to compile/emulate these ARM intrinsics for x86/x64 architecture (optimization excluded of course) ?
Do you have some clue or advice for this ?

Thank you in advance for your pieces of information, and  advice on the topic.

Best regards

Parents Reply Children