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

Go to the source code of this file.

Macros

#define _FP_W_TYPE_SIZE   32
 
#define _FP_W_TYPE   unsigned int
 
#define _FP_WS_TYPE   signed int
 
#define _FP_I_TYPE   int
 
#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_DEC_3(x2, x1, x0, y2, y1, y0)   __FP_FRAC_SUB_3(x2,x1,x0,x2,x1,x0,y2,y1,y0)
 
#define FP_ROUNDMODE   mode
 
#define FP_EX_INVALID   0x800000
 
#define FP_EX_DIVZERO   0x400000
 
#define FP_EX_OVERFLOW   0x200000
 
#define FP_EX_UNDERFLOW   0x100000
 
#define FP_EX_INEXACT   0x080000
 
#define FP_INHIBIT_RESULTS   0
 

Macro Definition Documentation

#define __FP_FRAC_ADD_3 (   r2,
  r1,
  r0,
  x2,
  x1,
  x0,
  y2,
  y1,
  y0 
)
Value:
({ \
unsigned int __r2 = (x2) + (y2); \
unsigned int __r1 = (x1); \
unsigned int __r0 = (x0); \
asm volatile( \
" alr %2,%3\n" \
" brc 12,0f\n" \
" lhi 0,1\n" \
" alr %1,0\n" \
" brc 12,0f\n" \
" alr %0,0\n" \
"0:" \
: "+&d" (__r2), "+&d" (__r1), "+&d" (__r0) \
: "d" (y0), "i" (1) : "cc", "0" ); \
asm volatile( \
" alr %1,%2\n" \
" brc 12,0f\n" \
" ahi %0,1\n" \
"0:" \
: "+&d" (__r2), "+&d" (__r1) \
: "d" (y1) : "cc"); \
(r2) = __r2; \
(r1) = __r1; \
(r0) = __r0; \
})

Definition at line 75 of file sfp-machine.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 127 of file sfp-machine.h.

#define __FP_FRAC_SUB_3 (   r2,
  r1,
  r0,
  x2,
  x1,
  x0,
  y2,
  y1,
  y0 
)
Value:
({ \
unsigned int __r2 = (x2) - (y2); \
unsigned int __r1 = (x1); \
unsigned int __r0 = (x0); \
asm volatile( \
" slr %2,%3\n" \
" brc 3,0f\n" \
" lhi 0,1\n" \
" slr %1,0\n" \
" brc 3,0f\n" \
" slr %0,0\n" \
"0:" \
: "+&d" (__r2), "+&d" (__r1), "+&d" (__r0) \
: "d" (y0) : "cc", "0"); \
asm volatile( \
" slr %1,%2\n" \
" brc 3,0f\n" \
" ahi %0,-1\n" \
"0:" \
: "+&d" (__r2), "+&d" (__r1) \
: "d" (y1) : "cc"); \
(r2) = __r2; \
(r1) = __r1; \
(r0) = __r0; \
})

Definition at line 101 of file sfp-machine.h.

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

Definition at line 58 of file sfp-machine.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.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.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.h.

#define _FP_I_TYPE   int

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

#define _FP_KEEPNANFRACP   1

Definition at line 52 of file sfp-machine.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.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.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.h.

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

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

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

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

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

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

#define _FP_NANSIGN_D   0

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

#define _FP_NANSIGN_Q   0

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

#define _FP_NANSIGN_S   0

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

#define _FP_W_TYPE   unsigned int

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

#define _FP_W_TYPE_SIZE   32

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

#define _FP_WS_TYPE   signed int

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

#define FP_EX_DIVZERO   0x400000

Definition at line 134 of file sfp-machine.h.

#define FP_EX_INEXACT   0x080000

Definition at line 137 of file sfp-machine.h.

#define FP_EX_INVALID   0x800000

Definition at line 133 of file sfp-machine.h.

#define FP_EX_OVERFLOW   0x200000

Definition at line 135 of file sfp-machine.h.

#define FP_EX_UNDERFLOW   0x100000

Definition at line 136 of file sfp-machine.h.

#define FP_INHIBIT_RESULTS   0

Definition at line 140 of file sfp-machine.h.

#define FP_ROUNDMODE   mode

Definition at line 130 of file sfp-machine.h.