Vectorization for Standard ML in MLton
Anton Bachin (abachin AT andrew)
Anand Subramanian (asubrama AT andrew)
We are investigating the benefits of vectorization for Standard ML.
Our original goal was to consider the interaction between CPS form
and auto-vectorization, in the example of the MLRISC back end of
the SML/NJ compiler. However, we have found development for
SML/NJ to be difficult. The SML/NJ project seems to be limited to
maintenance releases. Instead, we are focusing on the MLton
compiler, which uses intermediate representations that are basically
equivalent to regular SSA form.
We have analyzed large portions of the MLton code, including the
major intermediate representations, the back end, and the x86-64
code generator. We are currently modifying each of these to support
SIMD intrinsics and SSE instructions. This task is nearly complete.