sulong icon indicating copy to clipboard operation
sulong copied to clipboard

Dragonegg, SSE and GCC builtins

Open jdenheen opened this issue 6 years ago • 1 comments

I have some Dragonegg-derived C code that used extensive GCC features and has some SSE instructions. Is there generally any way around the following without re-writing?

Caused by: org.graalvm.polyglot.PolyglotException: com.oracle.truffle.llvm.runtime.SulongRuntimeException: IllegalStateException Missing GCC builtin: @__builtin_ia32_ldmxcsr

jdenheen avatar May 12 '18 16:05 jdenheen

MXCSR contains flags which control SSE floating point operations, and it also contains exception flags which allow the program to check if certain exceptions occured. SSE is not implemented at all and floating point exceptions/rounding modes/… are also not implemented. There is no way around the error without re-writing your code. If the code relies on something like floating point exceptions, then it's impossible to run that on Sulong (at least for now).

pekd avatar May 14 '18 07:05 pekd