...then the thought occurred to me that the port data was stored in
a dynamic array that consisted of memory unlikely to be aligned on
16 byte boundaries, thus reducing the potential for the compiler to
perform SSE1/2/3 optimizations for variables that are used quite often,
and generally not in amoritized time...