diff options
author | Keith Whitwell <[email protected]> | 2008-10-02 12:46:01 +0100 |
---|---|---|
committer | Keith Whitwell <[email protected]> | 2008-10-02 12:59:14 +0100 |
commit | 102daee1b8971cf39235e220b9524bec1e4a7089 (patch) | |
tree | 0158367ca3db3d5a97ddf795844a4494657e66de /src/gallium/auxiliary/rtasm/rtasm_x86sse.c | |
parent | dd7e5a498066e4ebdb7ad40773de48e5bc993164 (diff) |
rtasm: add prefetch instructions
Diffstat (limited to 'src/gallium/auxiliary/rtasm/rtasm_x86sse.c')
-rw-r--r-- | src/gallium/auxiliary/rtasm/rtasm_x86sse.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/rtasm/rtasm_x86sse.c b/src/gallium/auxiliary/rtasm/rtasm_x86sse.c index 6d4c081e04e..9085f4cc0e7 100644 --- a/src/gallium/auxiliary/rtasm/rtasm_x86sse.c +++ b/src/gallium/auxiliary/rtasm/rtasm_x86sse.c @@ -629,6 +629,32 @@ void x86_and( struct x86_function *p, * SSE instructions */ +void sse_prefetchnta( struct x86_function *p, struct x86_reg ptr) +{ + DUMP_R( ptr ); + assert(ptr.mod != mod_REG); + emit_2ub(p, 0x0f, 0x18); + emit_modrm_noreg(p, 0, ptr); +} + +void sse_prefetch0( struct x86_function *p, struct x86_reg ptr) +{ + DUMP_R( ptr ); + assert(ptr.mod != mod_REG); + emit_2ub(p, 0x0f, 0x18); + emit_modrm_noreg(p, 1, ptr); +} + +void sse_prefetch1( struct x86_function *p, struct x86_reg ptr) +{ + DUMP_R( ptr ); + assert(ptr.mod != mod_REG); + emit_2ub(p, 0x0f, 0x18); + emit_modrm_noreg(p, 2, ptr); +} + + + void sse_movss( struct x86_function *p, struct x86_reg dst, |