rtasm: Implement x86_retw.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Sun, 27 Apr 2008 12:09:45 +0000 (21:09 +0900)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Sun, 27 Apr 2008 12:09:45 +0000 (21:09 +0900)
src/gallium/auxiliary/rtasm/rtasm_x86sse.c
src/gallium/auxiliary/rtasm/rtasm_x86sse.h

index 3cd45d7dd9edf2f16fb41b074cd8493f609305d4..e6cbe9967fac30bf21e99adb1962ded70b3f9e75 100644 (file)
@@ -498,6 +498,12 @@ void x86_ret( struct x86_function *p )
    emit_1ub(p, 0xc3);
 }
 
+void x86_retw( struct x86_function *p, unsigned short imm )
+{
+   DUMP();
+   emit_3ub(p, 0xc2, imm & 0xff, (imm >> 8) & 0xff);
+}
+
 void x86_sahf( struct x86_function *p )
 {
    DUMP();
index 695a1cef4e3cbb0db3e4237bbdb010ae3459aef3..1962b07bc5be5258c97f76079f7c7783a6276ded 100644 (file)
@@ -219,6 +219,7 @@ void x86_or( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
 void x86_pop( struct x86_function *p, struct x86_reg reg );
 void x86_push( struct x86_function *p, struct x86_reg reg );
 void x86_ret( struct x86_function *p );
+void x86_retw( struct x86_function *p, unsigned short imm );
 void x86_sub( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
 void x86_test( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
 void x86_xor( struct x86_function *p, struct x86_reg dst, struct x86_reg src );