1*2fe8fb19SBen Gras/* 2*2fe8fb19SBen Gras * Written by J.T. Conklin <jtc@NetBSD.org>. 3*2fe8fb19SBen Gras * Public domain. 4*2fe8fb19SBen Gras */ 5*2fe8fb19SBen Gras 6*2fe8fb19SBen Gras#include <machine/asm.h> 7*2fe8fb19SBen Gras 8*2fe8fb19SBen GrasRCSID("$NetBSD: s_ilogb.S,v 1.7 2003/07/26 19:25:02 salo Exp $") 9*2fe8fb19SBen Gras 10*2fe8fb19SBen GrasENTRY(ilogb) 11*2fe8fb19SBen Gras#ifdef __i386__ 12*2fe8fb19SBen Gras pushl %ebp 13*2fe8fb19SBen Gras movl %esp,%ebp 14*2fe8fb19SBen Gras subl $4,%esp 15*2fe8fb19SBen Gras 16*2fe8fb19SBen Gras fldl 8(%ebp) 17*2fe8fb19SBen Gras fxtract 18*2fe8fb19SBen Gras fstp %st 19*2fe8fb19SBen Gras 20*2fe8fb19SBen Gras fistpl -4(%ebp) 21*2fe8fb19SBen Gras movl -4(%ebp),%eax 22*2fe8fb19SBen Gras 23*2fe8fb19SBen Gras leave 24*2fe8fb19SBen Gras#else 25*2fe8fb19SBen Gras movsd %xmm0,-8(%rsp) 26*2fe8fb19SBen Gras fldl -8(%rsp) 27*2fe8fb19SBen Gras fxtract 28*2fe8fb19SBen Gras fstp %st 29*2fe8fb19SBen Gras fistpl -8(%rsp) 30*2fe8fb19SBen Gras movl -8(%rsp),%eax 31*2fe8fb19SBen Gras#endif 32*2fe8fb19SBen Gras ret 33