Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
sfp-machine.h File Reference
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <asm/byteorder.h>

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 __ll_B   ((UWtype) 1 << (W_TYPE_SIZE / 2))
 
#define __ll_lowpart(t)   ((UWtype) (t) & (__ll_B - 1))
 
#define __ll_highpart(t)   ((UWtype) (t) >> (W_TYPE_SIZE / 2))
 
#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_DIV_MEAT_S(R, X, Y)   _FP_DIV_MEAT_1_udiv_norm(S,R,X,Y)
 
#define _FP_DIV_MEAT_D(R, X, Y)   _FP_DIV_MEAT_2_udiv(D,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_EX_INVALID   (1 << (31 - 2))
 
#define FP_EX_INVALID_SNAN   EFLAG_VXSNAN
 
#define FP_EX_INVALID_ISI   EFLAG_VXISI
 
#define FP_EX_INVALID_IDI   EFLAG_VXIDI
 
#define FP_EX_INVALID_ZDZ   EFLAG_VXZDZ
 
#define FP_EX_INVALID_IMZ   EFLAG_VXIMZ
 
#define FP_EX_OVERFLOW   (1 << (31 - 3))
 
#define FP_EX_UNDERFLOW   (1 << (31 - 4))
 
#define FP_EX_DIVZERO   (1 << (31 - 5))
 
#define FP_EX_INEXACT   (1 << (31 - 6))
 
#define __FPU_FPSCR   (current->thread.fpscr.val)
 
#define __FPU_ENABLED_EXC
 
#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP)
 
#define __FPU_TRAP_P(bits)   ((__FPU_ENABLED_EXC & (bits)) != 0)
 
#define __FP_PACK_S(val, X)
 
#define __FP_PACK_D(val, X)
 
#define __FP_PACK_DS(val, X)
 
#define FP_ROUNDMODE
 
#define add_ssaaaa(sh, sl, ah, al, bh, bl)
 
#define sub_ddmmss(sh, sl, ah, al, bh, bl)
 
#define umul_ppmm(ph, pl, m0, m1)
 
#define udiv_qrnnd(q, r, n1, n0, d)
 
#define UDIV_NEEDS_NORMALIZATION   1
 
#define abort()   return 0
 
#define __BYTE_ORDER   __LITTLE_ENDIAN
 
#define EFLAG_INVALID   (1 << (31 - 2))
 
#define EFLAG_OVERFLOW   (1 << (31 - 3))
 
#define EFLAG_UNDERFLOW   (1 << (31 - 4))
 
#define EFLAG_DIVZERO   (1 << (31 - 5))
 
#define EFLAG_INEXACT   (1 << (31 - 6))
 
#define EFLAG_VXSNAN   (1 << (31 - 7))
 
#define EFLAG_VXISI   (1 << (31 - 8))
 
#define EFLAG_VXIDI   (1 << (31 - 9))
 
#define EFLAG_VXZDZ   (1 << (31 - 10))
 
#define EFLAG_VXIMZ   (1 << (31 - 11))
 
#define EFLAG_VXVC   (1 << (31 - 12))
 
#define EFLAG_VXSOFT   (1 << (31 - 21))
 
#define EFLAG_VXSQRT   (1 << (31 - 22))
 
#define EFLAG_VXCVI   (1 << (31 - 23))
 

Macro Definition Documentation

#define __BYTE_ORDER   __LITTLE_ENDIAN

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

#define __FP_PACK_D (   val,
  X 
)
Value:
do { \
_FP_PACK_CANONICAL(D, 2, X); \
_FP_PACK_RAW_2_P(D, val, X); \
} while (0)

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

#define __FP_PACK_DS (   val,
  X 
)
Value:
do { \
FP_DECL_S(__X); \
FP_CONV(S, D, 1, 2, __X, X); \
_FP_PACK_CANONICAL(S, 1, __X); \
_FP_UNPACK_CANONICAL(S, 1, __X); \
FP_CONV(D, S, 2, 1, X, __X); \
_FP_PACK_CANONICAL(D, 2, X); \
_FP_PACK_RAW_2_P(D, val, X); \
} \
} while (0)

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

#define __FP_PACK_S (   val,
  X 
)
Value:
({ int __exc = _FP_PACK_CANONICAL(S,1,X); \
if(!__exc || !__FPU_TRAP_P(__exc)) \
_FP_PACK_RAW_1_P(S,val,X); \
__exc; \
})

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

#define __FPU_ENABLED_EXC
Value:
({ \
(__FPU_FPSCR >> 3) & 0x1f; \
})

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

#define __FPU_FPSCR   (current->thread.fpscr.val)

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

#define __FPU_TRAP_P (   bits)    ((__FPU_ENABLED_EXC & (bits)) != 0)

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

#define __ll_B   ((UWtype) 1 << (W_TYPE_SIZE / 2))

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

#define __ll_highpart (   t)    ((UWtype) (t) >> (W_TYPE_SIZE / 2))

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

#define __ll_lowpart (   t)    ((UWtype) (t) & (__ll_B - 1))

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

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

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

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

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

#define _FP_I_TYPE   int

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

#define _FP_KEEPNANFRACP   1

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

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

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

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

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

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

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

#define _FP_NANSIGN_D   0

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

#define _FP_NANSIGN_Q   0

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

#define _FP_NANSIGN_S   0

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

#define _FP_W_TYPE   unsigned int

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

#define _FP_W_TYPE_SIZE   32

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

#define _FP_WS_TYPE   signed int

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

#define abort (   void)    return 0

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

#define add_ssaaaa (   sh,
  sl,
  ah,
  al,
  bh,
  bl 
)
Value:
do { \
if (__builtin_constant_p (bh) && (bh) == 0) \
__asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
: "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \
: "%r" ((USItype)(ah)), \
"%r" ((USItype)(al)), \
"rI" ((USItype)(bl))); \
else if (__builtin_constant_p (bh) && (bh) ==~(USItype) 0) \
__asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
: "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \
: "%r" ((USItype)(ah)), \
"%r" ((USItype)(al)), \
"rI" ((USItype)(bl))); \
__asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
: "=r" ((USItype)(sh)), \
"=&r" ((USItype)(sl)) \
: "%r" ((USItype)(ah)), \
"r" ((USItype)(bh)), \
"%r" ((USItype)(al)), \
"rI" ((USItype)(bl))); \
} while (0)

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

#define EFLAG_DIVZERO   (1 << (31 - 5))

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

#define EFLAG_INEXACT   (1 << (31 - 6))

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

#define EFLAG_INVALID   (1 << (31 - 2))

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

#define EFLAG_OVERFLOW   (1 << (31 - 3))

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

#define EFLAG_UNDERFLOW   (1 << (31 - 4))

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

#define EFLAG_VXCVI   (1 << (31 - 23))

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

#define EFLAG_VXIDI   (1 << (31 - 9))

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

#define EFLAG_VXIMZ   (1 << (31 - 11))

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

#define EFLAG_VXISI   (1 << (31 - 8))

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

#define EFLAG_VXSNAN   (1 << (31 - 7))

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

#define EFLAG_VXSOFT   (1 << (31 - 21))

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

#define EFLAG_VXSQRT   (1 << (31 - 22))

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

#define EFLAG_VXVC   (1 << (31 - 12))

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

#define EFLAG_VXZDZ   (1 << (31 - 10))

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

#define FP_EX_DIVZERO   (1 << (31 - 5))

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

#define FP_EX_INEXACT   (1 << (31 - 6))

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

#define FP_EX_INVALID   (1 << (31 - 2))

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

#define FP_EX_INVALID_IDI   EFLAG_VXIDI

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

#define FP_EX_INVALID_IMZ   EFLAG_VXIMZ

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

#define FP_EX_INVALID_ISI   EFLAG_VXISI

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

#define FP_EX_INVALID_SNAN   EFLAG_VXSNAN

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

#define FP_EX_INVALID_ZDZ   EFLAG_VXZDZ

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

#define FP_EX_OVERFLOW   (1 << (31 - 3))

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

#define FP_EX_UNDERFLOW   (1 << (31 - 4))

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

#define FP_ROUNDMODE
Value:
({ \
__FPU_FPSCR & 0x3; \
})

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

#define sub_ddmmss (   sh,
  sl,
  ah,
  al,
  bh,
  bl 
)

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

#define UDIV_NEEDS_NORMALIZATION   1

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

#define udiv_qrnnd (   q,
  r,
  n1,
  n0,
  d 
)

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

#define umul_ppmm (   ph,
  pl,
  m0,
  m1 
)
Value:
do { \
USItype __m0 = (m0), __m1 = (m1); \
__asm__ ("mulhwu %0,%1,%2" \
: "=r" ((USItype)(ph)) \
: "%r" (__m0), \
"r" (__m1)); \
(pl) = __m0 * __m1; \
} while (0)

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