annotate libgcc/config/i386/64/sfp-machine.h @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents 77e2b8dfacca
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #define _FP_W_TYPE_SIZE 64
111
kono
parents: 55
diff changeset
2 #define _FP_W_TYPE unsigned long long
kono
parents: 55
diff changeset
3 #define _FP_WS_TYPE signed long long
kono
parents: 55
diff changeset
4 #define _FP_I_TYPE long long
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 typedef int TItype __attribute__ ((mode (TI)));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 typedef unsigned int UTItype __attribute__ ((mode (TI)));
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 #define TI_BITS (__CHAR_BIT__ * (int)sizeof(TItype))
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
111
kono
parents: 55
diff changeset
11 #define _FP_MUL_MEAT_Q(R,X,Y) \
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y)
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 #define _FP_NANFRAC_S _FP_QNANBIT_S
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 #define _FP_NANFRAC_D _FP_QNANBIT_D
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 #define _FP_NANFRAC_E _FP_QNANBIT_E, 0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 #define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
111
kono
parents: 55
diff changeset
21 #ifndef _SOFT_FLOAT
kono
parents: 55
diff changeset
22 #define FP_EX_SHIFT 7
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
111
kono
parents: 55
diff changeset
24 #define _FP_DECL_EX \
kono
parents: 55
diff changeset
25 unsigned int _fcw __attribute__ ((unused)) = FP_RND_NEAREST;
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 #define FP_RND_NEAREST 0
111
kono
parents: 55
diff changeset
28 #define FP_RND_ZERO 0x6000
kono
parents: 55
diff changeset
29 #define FP_RND_PINF 0x4000
kono
parents: 55
diff changeset
30 #define FP_RND_MINF 0x2000
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
111
kono
parents: 55
diff changeset
32 #define FP_RND_MASK 0x6000
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
111
kono
parents: 55
diff changeset
34 #define FP_INIT_ROUNDMODE \
kono
parents: 55
diff changeset
35 do { \
kono
parents: 55
diff changeset
36 __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (_fcw)); \
kono
parents: 55
diff changeset
37 } while (0)
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 #endif