diff options
author | Luca Barbieri <[email protected]> | 2010-08-12 18:27:02 +0200 |
---|---|---|
committer | Luca Barbieri <[email protected]> | 2010-08-16 16:57:05 +0200 |
commit | a3e6e50544de74558ceb7cd4b618c350cdef36c6 (patch) | |
tree | 870e7ca2b2c847f492e3de8cd2754e1b428d5867 /src/gallium/auxiliary/rtasm/rtasm_cpu.c | |
parent | 4a4e29a9ab96d44fca9bb25064e12715aac85cbd (diff) |
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
Diffstat (limited to 'src/gallium/auxiliary/rtasm/rtasm_cpu.c')
-rw-r--r-- | src/gallium/auxiliary/rtasm/rtasm_cpu.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/rtasm/rtasm_cpu.c b/src/gallium/auxiliary/rtasm/rtasm_cpu.c index 2e15751e508..0461c815504 100644 --- a/src/gallium/auxiliary/rtasm/rtasm_cpu.c +++ b/src/gallium/auxiliary/rtasm/rtasm_cpu.c @@ -30,7 +30,7 @@ #include "rtasm_cpu.h" -#if defined(PIPE_ARCH_X86) +#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) static boolean rtasm_sse_enabled(void) { static boolean firsttime = 1; @@ -49,7 +49,7 @@ static boolean rtasm_sse_enabled(void) int rtasm_cpu_has_sse(void) { /* FIXME: actually detect this at run-time */ -#if defined(PIPE_ARCH_X86) +#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) return rtasm_sse_enabled(); #else return 0; @@ -59,7 +59,7 @@ int rtasm_cpu_has_sse(void) int rtasm_cpu_has_sse2(void) { /* FIXME: actually detect this at run-time */ -#if defined(PIPE_ARCH_X86) +#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) return rtasm_sse_enabled(); #else return 0; |