void _24to32( SV* packed ) {
IS_VARS;
char *pp = SvPVX( packed );
_4BY6 up;
int i;
IS_RESET;
for( i=0; i<24; i+=3 ) {
up.packed = _byteswap_ulong( *(unsigned long*)&pp[ i ] );
IS_PUSHUV( up.u.a );
IS_PUSHUV( up.u.b );
IS_PUSHUV( up.u.c );
IS_PUSHUV( up.u.d );
}
IS_DONE;
return;
}
####
void XS_main__24to32(register PerlInterpreter* my_perl , CV* cv);
void XS_main__24to32(register PerlInterpreter* my_perl , CV* cv)
{
extern int Perl___notused ; SV **sp = (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))); I32 ax = (*(*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context())))--); register SV **mark = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context()))) + ax++; I32 items = (I32)(sp - mark);
#line 179 "_24to32.c"
if (items != 1)
Perl_croak_xs_usage(((PerlInterpreter *)Perl_get_context()), cv,"packed");
((void)ax);
sp -= items;
{
SV * packed = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context())))[ax + (0)];
#line 117 "_24to32.xs"
I32* temp;
#line 188 "_24to32.c"
#line 119 "_24to32.xs"
temp = (*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context())))++;
_24to32(packed);
if ((*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context()))) != temp) {
(*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context()))) = temp;
do { do { const IV tmpXSoff = (0); (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))) = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context()))) + ax + (tmpXSoff - 1); return; } while (0); } while (0);
}
return;
#line 199 "_24to32.c"
(*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))) = sp;
return;
}
}
####
void _24to32( SV* packed ) {
SV **sp = (*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))); I32 ax = (*(*Perl_Imarkstack_ptr_ptr(((PerlInterpreter *)Perl_get_context())))--); register SV **mark = (*Perl_Istack_base_ptr(((PerlInterpreter *)Perl_get_context()))) + ax++; I32 items = (I32)(sp - mark);
char *pp = ((packed)->sv_u.svu_pv);
_4BY6 up;
int i;
sp = mark;
for( i=0; i<24; i+=3 ) {
up.packed = _byteswap_ulong( *(unsigned long*)&pp[ i ] );
do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.a)))); } while (0);
do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.b)))); } while (0);
do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.c)))); } while (0);
do { do { if ((*Perl_Istack_max_ptr(((PerlInterpreter *)Perl_get_context()))) - sp < (int)(1)) { sp = Perl_stack_grow(((PerlInterpreter *)Perl_get_context()), sp,sp,(int) (1)); } } while (0); (*++sp = (Perl_sv_2mortal(((PerlInterpreter *)Perl_get_context()), Perl_newSVuv(((PerlInterpreter *)Perl_get_context()), up.u.d)))); } while (0);
}
(*Perl_Istack_sp_ptr(((PerlInterpreter *)Perl_get_context()))) = sp;
return;
}