Indent. Remove GL dependencies. Simplify. Add rtasm instructions.

This commit is contained in:
michal
2007-08-24 16:23:02 +01:00
parent b5c14b36ad
commit 2c7b74725b
3 changed files with 1438 additions and 1389 deletions
File diff suppressed because it is too large Load Diff
+54
View File
@@ -502,6 +502,14 @@ void sse_addss( struct x86_function *p,
emit_modrm( p, dst, src );
}
void sse_andnps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_2ub(p, X86_TWOB, 0x55);
emit_modrm( p, dst, src );
}
void sse_andps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
@@ -510,6 +518,13 @@ void sse_andps( struct x86_function *p,
emit_modrm( p, dst, src );
}
void sse_rsqrtps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_2ub(p, X86_TWOB, 0x52);
emit_modrm( p, dst, src );
}
void sse_rsqrtss( struct x86_function *p,
struct x86_reg dst,
@@ -538,6 +553,21 @@ void sse_movlhps( struct x86_function *p,
emit_modrm( p, dst, src );
}
void sse_orps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_2ub(p, X86_TWOB, 0x56);
emit_modrm( p, dst, src );
}
void sse_xorps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_2ub(p, X86_TWOB, 0x57);
emit_modrm( p, dst, src );
}
void sse_cvtps2pi( struct x86_function *p,
struct x86_reg dst,
@@ -576,6 +606,14 @@ void sse_cmpps( struct x86_function *p,
emit_1ub(p, cc);
}
void sse_pmovmskb( struct x86_function *p,
struct x86_reg dest,
struct x86_reg src)
{
emit_3ub(p, 0x66, X86_TWOB, 0xD7);
emit_modrm(p, dest, src);
}
/***********************************************************************
* SSE2 instructions
*/
@@ -593,6 +631,14 @@ void sse2_pshufd( struct x86_function *p,
emit_1ub(p, shuf);
}
void sse2_cvttps2dq( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_3ub( p, 0xF3, X86_TWOB, 0x5B );
emit_modrm( p, dst, src );
}
void sse2_cvtps2dq( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
@@ -625,6 +671,14 @@ void sse2_packuswb( struct x86_function *p,
emit_modrm( p, dst, src );
}
void sse2_rcpps( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
{
emit_2ub(p, X86_TWOB, 0x53);
emit_modrm( p, dst, src );
}
void sse2_rcpss( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )
+7
View File
@@ -142,17 +142,20 @@ void mmx_packssdw( struct x86_function *p, struct x86_reg dst, struct x86_reg sr
void mmx_packuswb( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_cvtps2dq( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_cvttps2dq( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_movd( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_packssdw( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_packsswb( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_packuswb( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_pshufd( struct x86_function *p, struct x86_reg dest, struct x86_reg arg0, GLubyte shuf );
void sse2_rcpps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse2_rcpss( 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 );
void sse_divss( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_andnps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_andps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_cmpps( struct x86_function *p, struct x86_reg dst, struct x86_reg src, GLubyte cc );
void sse_maxps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
@@ -167,9 +170,13 @@ void sse_movss( struct x86_function *p, struct x86_reg dst, struct x86_reg src )
void sse_movups( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_mulps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_mulss( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_orps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_xorps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_subps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_rsqrtps( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_rsqrtss( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void sse_shufps( struct x86_function *p, struct x86_reg dest, struct x86_reg arg0, GLubyte shuf );
void sse_pmovmskb( struct x86_function *p, struct x86_reg dest, struct x86_reg src );
void x86_add( struct x86_function *p, struct x86_reg dst, struct x86_reg src );
void x86_and( struct x86_function *p, struct x86_reg dst, struct x86_reg src );