floor.s raw

   1  .global floorf
   2  .type floorf,@function
   3  floorf:
   4  	flds 4(%esp)
   5  	jmp 1f
   6  
   7  .global floorl
   8  .type floorl,@function
   9  floorl:
  10  	fldt 4(%esp)
  11  	jmp 1f
  12  
  13  .global floor
  14  .type floor,@function
  15  floor:
  16  	fldl 4(%esp)
  17  1:	mov $0x7,%al
  18  1:	fstcw 4(%esp)
  19  	mov 5(%esp),%ah
  20  	mov %al,5(%esp)
  21  	fldcw 4(%esp)
  22  	frndint
  23  	mov %ah,5(%esp)
  24  	fldcw 4(%esp)
  25  	ret
  26  
  27  .global ceil
  28  .type ceil,@function
  29  ceil:
  30  	fldl 4(%esp)
  31  	mov $0xb,%al
  32  	jmp 1b
  33  
  34  .global ceilf
  35  .type ceilf,@function
  36  ceilf:
  37  	flds 4(%esp)
  38  	mov $0xb,%al
  39  	jmp 1b
  40  
  41  .global ceill
  42  .type ceill,@function
  43  ceill:
  44  	fldt 4(%esp)
  45  	mov $0xb,%al
  46  	jmp 1b
  47  
  48  .global trunc
  49  .type trunc,@function
  50  trunc:
  51  	fldl 4(%esp)
  52  	mov $0xf,%al
  53  	jmp 1b
  54  
  55  .global truncf
  56  .type truncf,@function
  57  truncf:
  58  	flds 4(%esp)
  59  	mov $0xf,%al
  60  	jmp 1b
  61  
  62  .global truncl
  63  .type truncl,@function
  64  truncl:
  65  	fldt 4(%esp)
  66  	mov $0xf,%al
  67  	jmp 1b
  68