Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Variables
sfp-machine_32.h File Reference

Go to the source code of this file.

Macros

#define _FP_W_TYPE_SIZE   32
 
#define _FP_W_TYPE   unsigned long
 
#define _FP_WS_TYPE   signed long
 
#define _FP_I_TYPE   long
 
#define _FP_MUL_MEAT_S(R, X, Y)   _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
 
#define _FP_MUL_MEAT_D(R, X, Y)   _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
 
#define _FP_MUL_MEAT_Q(R, X, Y)   _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
 
#define _FP_DIV_MEAT_S(R, X, Y)   _FP_DIV_MEAT_1_udiv(S,R,X,Y)
 
#define _FP_DIV_MEAT_D(R, X, Y)   _FP_DIV_MEAT_2_udiv(D,R,X,Y)
 
#define _FP_DIV_MEAT_Q(R, X, Y)   _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
 
#define _FP_NANFRAC_S   ((_FP_QNANBIT_S << 1) - 1)
 
#define _FP_NANFRAC_D   ((_FP_QNANBIT_D << 1) - 1), -1
 
#define _FP_NANFRAC_Q   ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
 
#define _FP_NANSIGN_S   0
 
#define _FP_NANSIGN_D   0
 
#define _FP_NANSIGN_Q   0
 
#define _FP_KEEPNANFRACP   1
 
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP)
 
#define __FP_FRAC_ADD_3(r2, r1, r0, x2, x1, x0, y2, y1, y0)
 
#define __FP_FRAC_SUB_3(r2, r1, r0, x2, x1, x0, y2, y1, y0)
 
#define __FP_FRAC_ADD_4(r3, r2, r1, r0, x3, x2, x1, x0, y3, y2, y1, y0)
 
#define __FP_FRAC_SUB_4(r3, r2, r1, r0, x3, x2, x1, x0, y3, y2, y1, y0)
 
#define __FP_FRAC_DEC_3(x2, x1, x0, y2, y1, y0)   __FP_FRAC_SUB_3(x2,x1,x0,x2,x1,x0,y2,y1,y0)
 
#define __FP_FRAC_DEC_4(x3, x2, x1, x0, y3, y2, y1, y0)   __FP_FRAC_SUB_4(x3,x2,x1,x0,x3,x2,x1,x0,y3,y2,y1,y0)
 
#define __FP_FRAC_ADDI_4(x3, x2, x1, x0, i)
 
#define FP_ROUNDMODE   ((last_task_used_math->thread.fsr >> 30) & 0x3)
 
#define FP_EX_INVALID   (1 << 4)
 
#define FP_EX_OVERFLOW   (1 << 3)
 
#define FP_EX_UNDERFLOW   (1 << 2)
 
#define FP_EX_DIVZERO   (1 << 1)
 
#define FP_EX_INEXACT   (1 << 0)
 
#define FP_HANDLE_EXCEPTIONS   return _fex
 
#define FP_INHIBIT_RESULTS   ((last_task_used_math->thread.fsr >> 23) & _fex)
 
#define FP_TRAPPING_EXCEPTIONS   ((last_task_used_math->thread.fsr >> 23) & 0x1f)
 

Variables

struct task_structlast_task_used_math
 

Macro Definition Documentation

#define __FP_FRAC_ADD_3 (   r2,
  r1,
  r0,
  x2,
  x1,
  x0,
  y2,
  y1,
  y0 
)
Value:
__asm__ ("addcc %r7,%8,%2\n\t" \
"addxcc %r5,%6,%1\n\t" \
"addx %r3,%4,%0\n" \
: "=r" ((USItype)(r2)), \
"=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
: "%rJ" ((USItype)(x2)), \
"rI" ((USItype)(y2)), \
"%rJ" ((USItype)(x1)), \
"rI" ((USItype)(y1)), \
"%rJ" ((USItype)(x0)), \
"rI" ((USItype)(y0)) \
: "cc")

Definition at line 78 of file sfp-machine_32.h.

#define __FP_FRAC_ADD_4 (   r3,
  r2,
  r1,
  r0,
  x3,
  x2,
  x1,
  x0,
  y3,
  y2,
  y1,
  y0 
)
Value:
do { \
/* We need to fool gcc, as we need to pass more than 10 \
input/outputs. */ \
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
__asm__ __volatile__ ( \
"addcc %r8,%9,%1\n\t" \
"addxcc %r6,%7,%0\n\t" \
"addxcc %r4,%5,%%g2\n\t" \
"addx %r2,%3,%%g1\n\t" \
: "=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
: "%rJ" ((USItype)(x3)), \
"rI" ((USItype)(y3)), \
"%rJ" ((USItype)(x2)), \
"rI" ((USItype)(y2)), \
"%rJ" ((USItype)(x1)), \
"rI" ((USItype)(y1)), \
"%rJ" ((USItype)(x0)), \
"rI" ((USItype)(y0)) \
: "cc", "g1", "g2"); \
__asm__ __volatile__ ("" : "=r" (_t1), "=r" (_t2)); \
r3 = _t1; r2 = _t2; \
} while (0)

Definition at line 108 of file sfp-machine_32.h.

#define __FP_FRAC_ADDI_4 (   x3,
  x2,
  x1,
  x0,
  i 
)
Value:
__asm__ ("addcc %3,%4,%3\n\t" \
"addxcc %2,%%g0,%2\n\t" \
"addxcc %1,%%g0,%1\n\t" \
"addx %0,%%g0,%0\n\t" \
: "=&r" ((USItype)(x3)), \
"=&r" ((USItype)(x2)), \
"=&r" ((USItype)(x1)), \
"=&r" ((USItype)(x0)) \
: "rI" ((USItype)(i)), \
"0" ((USItype)(x3)), \
"1" ((USItype)(x2)), \
"2" ((USItype)(x1)), \
"3" ((USItype)(x0)) \
: "cc")

Definition at line 160 of file sfp-machine_32.h.

#define __FP_FRAC_DEC_3 (   x2,
  x1,
  x0,
  y2,
  y1,
  y0 
)    __FP_FRAC_SUB_3(x2,x1,x0,x2,x1,x0,y2,y1,y0)

Definition at line 156 of file sfp-machine_32.h.

#define __FP_FRAC_DEC_4 (   x3,
  x2,
  x1,
  x0,
  y3,
  y2,
  y1,
  y0 
)    __FP_FRAC_SUB_4(x3,x2,x1,x0,x3,x2,x1,x0,y3,y2,y1,y0)

Definition at line 158 of file sfp-machine_32.h.

#define __FP_FRAC_SUB_3 (   r2,
  r1,
  r0,
  x2,
  x1,
  x0,
  y2,
  y1,
  y0 
)
Value:
__asm__ ("subcc %r7,%8,%2\n\t" \
"subxcc %r5,%6,%1\n\t" \
"subx %r3,%4,%0\n" \
: "=r" ((USItype)(r2)), \
"=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
: "%rJ" ((USItype)(x2)), \
"rI" ((USItype)(y2)), \
"%rJ" ((USItype)(x1)), \
"rI" ((USItype)(y1)), \
"%rJ" ((USItype)(x0)), \
"rI" ((USItype)(y0)) \
: "cc")

Definition at line 93 of file sfp-machine_32.h.

#define __FP_FRAC_SUB_4 (   r3,
  r2,
  r1,
  r0,
  x3,
  x2,
  x1,
  x0,
  y3,
  y2,
  y1,
  y0 
)
Value:
do { \
/* We need to fool gcc, as we need to pass more than 10 \
input/outputs. */ \
register USItype _t1 __asm__ ("g1"), _t2 __asm__ ("g2"); \
__asm__ __volatile__ ( \
"subcc %r8,%9,%1\n\t" \
"subxcc %r6,%7,%0\n\t" \
"subxcc %r4,%5,%%g2\n\t" \
"subx %r2,%3,%%g1\n\t" \
: "=&r" ((USItype)(r1)), \
"=&r" ((USItype)(r0)) \
: "%rJ" ((USItype)(x3)), \
"rI" ((USItype)(y3)), \
"%rJ" ((USItype)(x2)), \
"rI" ((USItype)(y2)), \
"%rJ" ((USItype)(x1)), \
"rI" ((USItype)(y1)), \
"%rJ" ((USItype)(x0)), \
"rI" ((USItype)(y0)) \
: "cc", "g1", "g2"); \
__asm__ __volatile__ ("" : "=r" (_t1), "=r" (_t2)); \
r3 = _t1; r2 = _t2; \
} while (0)

Definition at line 132 of file sfp-machine_32.h.

#define _FP_CHOOSENAN (   fs,
  wc,
  R,
  X,
  Y,
  OP 
)
Value:
do { \
if ((_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs) \
&& !(_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)) \
{ \
R##_s = X##_s; \
_FP_FRAC_COPY_##wc(R,X); \
} \
else \
{ \
R##_s = Y##_s; \
_FP_FRAC_COPY_##wc(R,Y); \
} \
R##_c = FP_CLS_NAN; \
} while (0)

Definition at line 61 of file sfp-machine_32.h.

#define _FP_DIV_MEAT_D (   R,
  X,
 
)    _FP_DIV_MEAT_2_udiv(D,R,X,Y)

Definition at line 42 of file sfp-machine_32.h.

#define _FP_DIV_MEAT_Q (   R,
  X,
 
)    _FP_DIV_MEAT_4_udiv(Q,R,X,Y)

Definition at line 43 of file sfp-machine_32.h.

#define _FP_DIV_MEAT_S (   R,
  X,
 
)    _FP_DIV_MEAT_1_udiv(S,R,X,Y)

Definition at line 41 of file sfp-machine_32.h.

#define _FP_I_TYPE   long

Definition at line 32 of file sfp-machine_32.h.

#define _FP_KEEPNANFRACP   1

Definition at line 52 of file sfp-machine_32.h.

#define _FP_MUL_MEAT_D (   R,
  X,
 
)    _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)

Definition at line 36 of file sfp-machine_32.h.

#define _FP_MUL_MEAT_Q (   R,
  X,
 
)    _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)

Definition at line 38 of file sfp-machine_32.h.

#define _FP_MUL_MEAT_S (   R,
  X,
 
)    _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)

Definition at line 34 of file sfp-machine_32.h.

#define _FP_NANFRAC_D   ((_FP_QNANBIT_D << 1) - 1), -1

Definition at line 46 of file sfp-machine_32.h.

#define _FP_NANFRAC_Q   ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1

Definition at line 47 of file sfp-machine_32.h.

#define _FP_NANFRAC_S   ((_FP_QNANBIT_S << 1) - 1)

Definition at line 45 of file sfp-machine_32.h.

#define _FP_NANSIGN_D   0

Definition at line 49 of file sfp-machine_32.h.

#define _FP_NANSIGN_Q   0

Definition at line 50 of file sfp-machine_32.h.

#define _FP_NANSIGN_S   0

Definition at line 48 of file sfp-machine_32.h.

#define _FP_W_TYPE   unsigned long

Definition at line 30 of file sfp-machine_32.h.

#define _FP_W_TYPE_SIZE   32

Definition at line 29 of file sfp-machine_32.h.

#define _FP_WS_TYPE   signed long

Definition at line 31 of file sfp-machine_32.h.

#define FP_EX_DIVZERO   (1 << 1)

Definition at line 193 of file sfp-machine_32.h.

#define FP_EX_INEXACT   (1 << 0)

Definition at line 194 of file sfp-machine_32.h.

#define FP_EX_INVALID   (1 << 4)

Definition at line 190 of file sfp-machine_32.h.

#define FP_EX_OVERFLOW   (1 << 3)

Definition at line 191 of file sfp-machine_32.h.

#define FP_EX_UNDERFLOW   (1 << 2)

Definition at line 192 of file sfp-machine_32.h.

#define FP_HANDLE_EXCEPTIONS   return _fex

Definition at line 196 of file sfp-machine_32.h.

#define FP_INHIBIT_RESULTS   ((last_task_used_math->thread.fsr >> 23) & _fex)

Definition at line 201 of file sfp-machine_32.h.

#define FP_ROUNDMODE   ((last_task_used_math->thread.fsr >> 30) & 0x3)

Definition at line 185 of file sfp-machine_32.h.

#define FP_TRAPPING_EXCEPTIONS   ((last_task_used_math->thread.fsr >> 23) & 0x1f)

Definition at line 207 of file sfp-machine_32.h.

Variable Documentation

struct task_struct* last_task_used_math

Definition at line 63 of file process.c.