Add 386 support.

Had to wrap the implementations in pre-processor blocks.