static struct x86_reg
get_temp_base( void )
{
-#ifdef WIN32
return x86_make_reg(
file_REG32,
reg_BX );
-#else
- return x86_make_reg(
- file_REG32,
- reg_SI );
-#endif
}
static struct x86_reg
tgsi_parse_init( &parse, tokens );
- /* Can't just use EDI without save/restoring it:
+ /* Can't just use EDI, EBX without save/restoring them:
*/
x86_push(
func,
get_immediate_base() );
+ x86_push(
+ func,
+ get_temp_base() );
+
/*
* Different function args for vertex/fragment shaders:
soa_to_aos( func, 9, 2, 10, 11 );
}
- /* Can't just use EDI without save/restoring it:
+ /* Can't just use EBX, EDI without save/restoring them:
*/
+ x86_pop(
+ func,
+ get_temp_base() );
+
x86_pop(
func,
get_immediate_base() );