require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_MCOUNT_DECL)) {
    sub _MCOUNT_DECL () {	 &void  &mcount;}
}
if(0) {
    eval 'sub OFFSET_AT () {0;}' unless defined(&OFFSET_AT);
    eval 'sub OFFSET_V0 () {8;}' unless defined(&OFFSET_V0);
    eval 'sub OFFSET_T0 () {16;}' unless defined(&OFFSET_T0);
    eval 'sub OFFSET_T1 () {24;}' unless defined(&OFFSET_T1);
    eval 'sub OFFSET_T2 () {32;}' unless defined(&OFFSET_T2);
    eval 'sub OFFSET_T3 () {40;}' unless defined(&OFFSET_T3);
    eval 'sub OFFSET_T4 () {48;}' unless defined(&OFFSET_T4);
    eval 'sub OFFSET_T5 () {56;}' unless defined(&OFFSET_T5);
    eval 'sub OFFSET_T6 () {64;}' unless defined(&OFFSET_T6);
    eval 'sub OFFSET_T7 () {72;}' unless defined(&OFFSET_T7);
    eval 'sub OFFSET_S6 () {80;}' unless defined(&OFFSET_S6);
    eval 'sub OFFSET_A0 () {88;}' unless defined(&OFFSET_A0);
    eval 'sub OFFSET_A1 () {96;}' unless defined(&OFFSET_A1);
    eval 'sub OFFSET_A2 () {104;}' unless defined(&OFFSET_A2);
    eval 'sub OFFSET_A3 () {112;}' unless defined(&OFFSET_A3);
    eval 'sub OFFSET_A4 () {120;}' unless defined(&OFFSET_A4);
    eval 'sub OFFSET_A5 () {128;}' unless defined(&OFFSET_A5);
    eval 'sub OFFSET_T8 () {136;}' unless defined(&OFFSET_T8);
    eval 'sub OFFSET_T9 () {144;}' unless defined(&OFFSET_T9);
    eval 'sub OFFSET_T10 () {152;}' unless defined(&OFFSET_T10);
    eval 'sub OFFSET_T11 () {160;}' unless defined(&OFFSET_T11);
    eval 'sub OFFSET_RA () {168;}' unless defined(&OFFSET_RA);
    eval 'sub OFFSET_T12 () {176;}' unless defined(&OFFSET_T12);
    eval 'sub OFFSET_GP () {184;}' unless defined(&OFFSET_GP);
    eval 'sub FRAME_SIZE () {192;}' unless defined(&FRAME_SIZE);
}
unless(defined(&MCOUNT)) {
    sub MCOUNT () {	 &asm("			.globl	_mcount;		.ent	_mcount 0;	_mcount:;				.frame	$30,0,$26;		.set noat;			.set noreorder;							lda	$30, -192($30);						stq	$28, 0($30);		stq	$0, 8($30);		stq	$1, 16($30);		stq	$2, 24($30);		stq	$3, 32($30);		stq	$4, 40($30);		stq	$5, 48($30);		stq	$6, 56($30);		stq	$7, 64($30);		stq	$8, 72($30);		stq	$15, 80($30);		stq	$16, 88($30);		stq	$17, 96($30);		stq	$18, 104($30);		stq	$19, 112($30);		stq	$20, 120($30);		stq	$21, 128($30);		stq	$22, 136($30);		stq	$23, 144($30);		stq	$24, 152($30);		stq	$25, 160($30);		stq	$26, 168($30);		stq	$27, 176($30);		stq	$29, 184($30);						br	$27, LX98;	LX98:	ldgp	$29,0($27);		mov	$26, $16;		mov	$28, $17;		jsr	$26,mcount;		ldgp	$29,0($26);						ldq	$0, 8($30);		ldq	$1, 16($30);		ldq	$2, 24($30);		ldq	$3, 32($30);		ldq	$4, 40($30);		ldq	$5, 48($30);		ldq	$6, 56($30);		ldq	$7, 64($30);		ldq	$8, 72($30);		ldq	$15, 80($30);		ldq	$16, 88($30);		ldq	$17, 96($30);		ldq	$18, 104($30);		ldq	$19, 112($30);		ldq	$20, 120($30);		ldq	$21, 128($30);		ldq	$22, 136($30);		ldq	$23, 144($30);		ldq	$24, 152($30);		ldq	$25, 160($30);		ldq	$25, 160($30);		ldq	$26, 168($30);		ldq	$27, 176($30);		ldq	$29, 184($30);						lda	$30, 192($30);		ret	$31, ($28), 1;						.end	_mcount");;}
}
if(defined(&_KERNEL)) {
    eval 'sub MCOUNT_ENTER () { &s =  &_alpha_pal_swpipl( &ALPHA_PSL_IPL_HIGH);}' unless defined(&MCOUNT_ENTER);
    eval 'sub MCOUNT_EXIT () {( &void) &_alpha_pal_swpipl( &s);;}' unless defined(&MCOUNT_EXIT);
}
1;
