180ee5cbfSDavid du Colombier#define NPRIVATES 16 280ee5cbfSDavid du Colombier 380ee5cbfSDavid du ColombierTEXT _mainp(SB), 1, $(16 + NPRIVATES*4) 43e12c5d1SDavid du Colombier 53e12c5d1SDavid du Colombier MOVW $setSB(SB), R2 6*e288d156SDavid du Colombier MOVW R7, _tos(SB) 780ee5cbfSDavid du Colombier 880ee5cbfSDavid du Colombier MOVW $p-64(SP),R7 980ee5cbfSDavid du Colombier MOVW R7,_privates+0(SB) 1080ee5cbfSDavid du Colombier MOVW $16,R7 1180ee5cbfSDavid du Colombier MOVW R7,_nprivates+0(SB) 123e12c5d1SDavid du Colombier/* 133e12c5d1SDavid du Colombier MOVW _fpsr+0(SB), FSR 143e12c5d1SDavid du Colombier FMOVD $0.5, F26 153e12c5d1SDavid du Colombier FSUBD F26, F26, F24 163e12c5d1SDavid du Colombier FADDD F26, F26, F28 173e12c5d1SDavid du Colombier FADDD F28, F28, F30 183e12c5d1SDavid du Colombier*/ 193e12c5d1SDavid du Colombier 203e12c5d1SDavid du Colombier JMPL _profmain(SB) 213e12c5d1SDavid du Colombier MOVW __prof+4(SB), R7 223e12c5d1SDavid du Colombier MOVW R7, __prof+0(SB) 233e12c5d1SDavid du Colombier 243e12c5d1SDavid du Colombier MOVW inargc-4(FP), R7 253e12c5d1SDavid du Colombier MOVW $inargv+0(FP), R8 263e12c5d1SDavid du Colombier MOVW R8, 8(R1) 273e12c5d1SDavid du Colombier JMPL main(SB) 283e12c5d1SDavid du Colombier 293e12c5d1SDavid du Colombierloop: 303e12c5d1SDavid du Colombier MOVW $_exits<>(SB), R7 313e12c5d1SDavid du Colombier JMPL exits(SB) 323e12c5d1SDavid du Colombier MOVW $_mul(SB), R8 /* force loading of muldiv */ 333e12c5d1SDavid du Colombier MOVW $_profin(SB), R9 /* force loading of profile */ 343e12c5d1SDavid du Colombier JMP loop 353e12c5d1SDavid du Colombier 363e12c5d1SDavid du ColombierTEXT _savearg(SB), 1, $0 373e12c5d1SDavid du Colombier RETURN 383e12c5d1SDavid du Colombier 393e12c5d1SDavid du ColombierTEXT _callpc(SB), 1, $0 403e12c5d1SDavid du Colombier MOVW argp-4(FP), R7 413e12c5d1SDavid du Colombier RETURN 423e12c5d1SDavid du Colombier 433e12c5d1SDavid du ColombierDATA _exits<>+0(SB)/4, $"main" 443e12c5d1SDavid du ColombierGLOBL _exits<>+0(SB), $5 45