rtasm: add minimal x86-64 support and new instructions (v5)
authorLuca Barbieri <luca@luca-barbieri.com>
Thu, 12 Aug 2010 16:27:02 +0000 (18:27 +0200)
committerLuca Barbieri <luca@luca-barbieri.com>
Mon, 16 Aug 2010 14:57:05 +0000 (16:57 +0200)
commita3e6e50544de74558ceb7cd4b618c350cdef36c6
tree870e7ca2b2c847f492e3de8cd2754e1b428d5867
parent4a4e29a9ab96d44fca9bb25064e12715aac85cbd
rtasm: add minimal x86-64 support and new instructions (v5)

Changes in v5:
- Add sse2_movdqa

Changes in v4:
- Use _WIN64 instead of WIN64

Changes in v3:
- Add target and target caps functions, so that they could be different in
  principle from the current CPU and they don't need #ifs to check

Changes in v2:
- Win64 support (untested)
- Use u_cpu_detect.h constants instead of #ifs

This commit adds minimal x86-64 support: only movs between registers
are supported for r8-r15, and x64_rexw() must be used to ask for 64-bit
operations.

It also adds several new instructions for the new translate_sse code.

movdqa
src/gallium/auxiliary/rtasm/rtasm_cpu.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.h