Mercurial > hg > CbC > CbC_gcc
comparison libgcc/config/lm32/sfp-machine.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 #define _FP_W_TYPE_SIZE 32 | |
2 #define _FP_W_TYPE unsigned long | |
3 #define _FP_WS_TYPE signed long | |
4 #define _FP_I_TYPE long | |
5 | |
6 #define _FP_MUL_MEAT_S(R,X,Y) \ | |
7 _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm) | |
8 #define _FP_MUL_MEAT_D(R,X,Y) \ | |
9 _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm) | |
10 #define _FP_MUL_MEAT_Q(R,X,Y) \ | |
11 _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) | |
12 | |
13 #define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y) | |
14 #define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y) | |
15 #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y) | |
16 | |
17 #define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1) | |
18 #define _FP_NANFRAC_D ((_FP_QNANBIT_D << 1) - 1), -1 | |
19 #define _FP_NANFRAC_Q ((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1 | |
20 #define _FP_NANSIGN_S 0 | |
21 #define _FP_NANSIGN_D 0 | |
22 #define _FP_NANSIGN_Q 0 | |
23 | |
24 #define _FP_KEEPNANFRACP 1 | |
25 #define _FP_QNANNEGATEDP 0 | |
26 | |
27 /* Someone please check this. */ | |
28 #define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \ | |
29 do { \ | |
30 if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \ | |
31 && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \ | |
32 { \ | |
33 R##_s = Y##_s; \ | |
34 _FP_FRAC_COPY_##wc(R,Y); \ | |
35 } \ | |
36 else \ | |
37 { \ | |
38 R##_s = X##_s; \ | |
39 _FP_FRAC_COPY_##wc(R,X); \ | |
40 } \ | |
41 R##_c = FP_CLS_NAN; \ | |
42 } while (0) | |
43 | |
44 /* Not checked. */ | |
45 #define _FP_TININESS_AFTER_ROUNDING 0 | |
46 | |
47 #define __LITTLE_ENDIAN 1234 | |
48 #define __BIG_ENDIAN 4321 | |
49 | |
50 #define __BYTE_ORDER __BIG_ENDIAN | |
51 | |
52 /* Define ALIASNAME as a strong alias for NAME. */ | |
53 # define strong_alias(name, aliasname) _strong_alias(name, aliasname) | |
54 # define _strong_alias(name, aliasname) \ | |
55 extern __typeof (name) aliasname __attribute__ ((alias (#name))); |