45{
48 bool signB;
51
52
53
59
60
61 if ( (uiA64 ^ uiB64) & 0x8000 ) {
62 if ( ! (sigA | sigB) ) return 0;
63 goto resultFromSignB;
64 }
65
66
69 if ( expA == 0x7FFF ) {
70 if (expB == 0x7FFF) return 0;
71 signB = ! signB;
72 goto resultFromSignB;
73 }
74 if ( expB == 0x7FFF ) {
75 goto resultFromSignB;
76 }
77
78
79 if ( ! expA ) expA = 1;
80 if ( ! (sigA &
UINT64_C( 0x8000000000000000 )) ) {
81 if ( sigA ) {
83 } else {
84 expA = -128;
85 }
86 }
87 if ( ! expB ) expB = 1;
88 if ( ! (sigB &
UINT64_C( 0x8000000000000000 )) ) {
89 if ( sigB ) {
91 } else {
92 expB = -128;
93 }
94 }
95
96
97 if ( signB ) {
98 if ( expA < expB ) return 1;
99 if ( (expB < expA) || (sigB < sigA) ) return -1;
100 } else {
101 if ( expB < expA ) return 1;
102 if ( (expA < expB) || (sigA < sigB) ) return -1;
103 }
104 return (sigA != sigB);
105
106
107 resultFromSignB:
108 return signB ? 1 : -1;
109
110}
#define expExtF80UI64(a64)
#define signExtF80UI64(a64)
int softfloat_normExtF80SigM(uint64_t *)
unsigned __int64 uint64_t