rtasm: add sse_movntps
authorKeith Whitwell <keith@tungstengraphics.com>
Fri, 3 Oct 2008 12:50:34 +0000 (13:50 +0100)
committerKeith Whitwell <keith@tungstengraphics.com>
Fri, 3 Oct 2008 12:50:34 +0000 (13:50 +0100)
src/gallium/auxiliary/rtasm/rtasm_x86sse.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.h

index 9085f4cc0e722661256907ff8d034159bb597b24..cc5871f873fdb387237eb63eea6b6951a78bf6d7 100644 (file)
@@ -653,6 +653,18 @@ void sse_prefetch1( struct x86_function *p, struct x86_reg ptr)
    emit_modrm_noreg(p, 2, ptr);
 }
 
+void sse_movntps( struct x86_function *p, 
+                  struct x86_reg dst,
+                  struct x86_reg src)
+{
+   DUMP_RR( dst, reg );
+
+   assert(dst.mod != mod_REG);
+   assert(src.mod == mod_REG);
+   emit_2ub(p, 0x0f, 0x2b);
+   emit_modrm(p, src, dst);
+}
+
 
 
 
index 2d7715f96544c2dccd6a138716e2f9b38d636765..af79f07dd39c2fa800ee8aa8fc69299cf464dc6a 100644 (file)
@@ -189,6 +189,8 @@ void sse_prefetchnta( struct x86_function *p, struct x86_reg ptr);
 void sse_prefetch0( struct x86_function *p, struct x86_reg ptr);
 void sse_prefetch1( struct x86_function *p, struct x86_reg ptr);
 
+void sse_movntps( struct x86_function *p, struct x86_reg dst, struct x86_reg src);
+
 void sse_addps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
 void sse_addss( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
 void sse_cvtps2pi( struct x86_function *p, struct x86_reg dst, struct x86_reg src );