require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_MIPS_REGDEF_H_)) {
    eval 'sub _MIPS_REGDEF_H_ () {1;}' unless defined(&_MIPS_REGDEF_H_);
    eval 'sub zero () {$0;}' unless defined(&zero);
    eval 'sub AT () {$ &at;}' unless defined(&AT);
    eval 'sub v0 () {$2;}' unless defined(&v0);
    eval 'sub v1 () {$3;}' unless defined(&v1);
    eval 'sub a0 () {$4;}' unless defined(&a0);
    eval 'sub a1 () {$5;}' unless defined(&a1);
    eval 'sub a2 () {$6;}' unless defined(&a2);
    eval 'sub a3 () {$7;}' unless defined(&a3);
    if(defined( &__mips_n32) || defined( &__mips_n64)) {
	eval 'sub a4 () {$8;}' unless defined(&a4);
	eval 'sub a5 () {$9;}' unless defined(&a5);
	eval 'sub a6 () {$10;}' unless defined(&a6);
	eval 'sub a7 () {$11;}' unless defined(&a7);
	eval 'sub ta0 () {$8;}' unless defined(&ta0);
	eval 'sub ta1 () {$9;}' unless defined(&ta1);
	eval 'sub ta2 () {$10;}' unless defined(&ta2);
	eval 'sub ta3 () {$11;}' unless defined(&ta3);
	eval 'sub t0 () {$12;}' unless defined(&t0);
	eval 'sub t1 () {$13;}' unless defined(&t1);
	eval 'sub t2 () {$14;}' unless defined(&t2);
	eval 'sub t3 () {$15;}' unless defined(&t3);
    } else {
	eval 'sub t0 () {$8;}' unless defined(&t0);
	eval 'sub t1 () {$9;}' unless defined(&t1);
	eval 'sub t2 () {$10;}' unless defined(&t2);
	eval 'sub t3 () {$11;}' unless defined(&t3);
	eval 'sub t4 () {$12;}' unless defined(&t4);
	eval 'sub t5 () {$13;}' unless defined(&t5);
	eval 'sub t6 () {$14;}' unless defined(&t6);
	eval 'sub t7 () {$15;}' unless defined(&t7);
	eval 'sub ta0 () {$12;}' unless defined(&ta0);
	eval 'sub ta1 () {$13;}' unless defined(&ta1);
	eval 'sub ta2 () {$14;}' unless defined(&ta2);
	eval 'sub ta3 () {$15;}' unless defined(&ta3);
    }
    eval 'sub s0 () {$16;}' unless defined(&s0);
    eval 'sub s1 () {$17;}' unless defined(&s1);
    eval 'sub s2 () {$18;}' unless defined(&s2);
    eval 'sub s3 () {$19;}' unless defined(&s3);
    eval 'sub s4 () {$20;}' unless defined(&s4);
    eval 'sub s5 () {$21;}' unless defined(&s5);
    eval 'sub s6 () {$22;}' unless defined(&s6);
    eval 'sub s7 () {$23;}' unless defined(&s7);
    eval 'sub t8 () {$24;}' unless defined(&t8);
    eval 'sub t9 () {$25;}' unless defined(&t9);
    eval 'sub k0 () {$26;}' unless defined(&k0);
    eval 'sub k1 () {$27;}' unless defined(&k1);
    eval 'sub gp () {$28;}' unless defined(&gp);
    eval 'sub sp () {$29;}' unless defined(&sp);
    eval 'sub s8 () {$30;}' unless defined(&s8);
    eval 'sub ra () {$31;}' unless defined(&ra);
}
1;
