1616#endif
1717
1818SECP256K1_INLINE static void secp256k1_fe_mul_inner (uint64_t * r , const uint64_t * a , const uint64_t * SECP256K1_RESTRICT b ) {
19- __int128 c , d ;
19+ uint128_t c , d ;
2020 uint64_t t3 , t4 , tx , u0 ;
2121 uint64_t a0 = a [0 ], a1 = a [1 ], a2 = a [2 ], a3 = a [3 ], a4 = a [4 ];
2222 const uint64_t M = 0xFFFFFFFFFFFFFULL , R = 0x1000003D10ULL ;
@@ -38,13 +38,13 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
3838 * Note that [x 0 0 0 0 0] = [x*R].
3939 */
4040
41- d = (__int128 )a0 * b [3 ]
42- + (__int128 )a1 * b [2 ]
43- + (__int128 )a2 * b [1 ]
44- + (__int128 )a3 * b [0 ];
41+ d = (uint128_t )a0 * b [3 ]
42+ + (uint128_t )a1 * b [2 ]
43+ + (uint128_t )a2 * b [1 ]
44+ + (uint128_t )a3 * b [0 ];
4545 VERIFY_BITS (d , 114 );
4646 /* [d 0 0 0] = [p3 0 0 0] */
47- c = (__int128 )a4 * b [4 ];
47+ c = (uint128_t )a4 * b [4 ];
4848 VERIFY_BITS (c , 112 );
4949 /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */
5050 d += (c & M ) * R ; c >>= 52 ;
@@ -56,11 +56,11 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
5656 VERIFY_BITS (d , 63 );
5757 /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */
5858
59- d += (__int128 )a0 * b [4 ]
60- + (__int128 )a1 * b [3 ]
61- + (__int128 )a2 * b [2 ]
62- + (__int128 )a3 * b [1 ]
63- + (__int128 )a4 * b [0 ];
59+ d += (uint128_t )a0 * b [4 ]
60+ + (uint128_t )a1 * b [3 ]
61+ + (uint128_t )a2 * b [2 ]
62+ + (uint128_t )a3 * b [1 ]
63+ + (uint128_t )a4 * b [0 ];
6464 VERIFY_BITS (d , 115 );
6565 /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */
6666 d += c * R ;
@@ -75,13 +75,13 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
7575 VERIFY_BITS (t4 , 48 );
7676 /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */
7777
78- c = (__int128 )a0 * b [0 ];
78+ c = (uint128_t )a0 * b [0 ];
7979 VERIFY_BITS (c , 112 );
8080 /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */
81- d += (__int128 )a1 * b [4 ]
82- + (__int128 )a2 * b [3 ]
83- + (__int128 )a3 * b [2 ]
84- + (__int128 )a4 * b [1 ];
81+ d += (uint128_t )a1 * b [4 ]
82+ + (uint128_t )a2 * b [3 ]
83+ + (uint128_t )a3 * b [2 ]
84+ + (uint128_t )a4 * b [1 ];
8585 VERIFY_BITS (d , 115 );
8686 /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */
8787 u0 = d & M ; d >>= 52 ;
@@ -92,21 +92,21 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
9292 u0 = (u0 << 4 ) | tx ;
9393 VERIFY_BITS (u0 , 56 );
9494 /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */
95- c += (__int128 )u0 * (R >> 4 );
95+ c += (uint128_t )u0 * (R >> 4 );
9696 VERIFY_BITS (c , 115 );
9797 /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */
9898 r [0 ] = c & M ; c >>= 52 ;
9999 VERIFY_BITS (r [0 ], 52 );
100100 VERIFY_BITS (c , 61 );
101101 /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */
102102
103- c += (__int128 )a0 * b [1 ]
104- + (__int128 )a1 * b [0 ];
103+ c += (uint128_t )a0 * b [1 ]
104+ + (uint128_t )a1 * b [0 ];
105105 VERIFY_BITS (c , 114 );
106106 /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */
107- d += (__int128 )a2 * b [4 ]
108- + (__int128 )a3 * b [3 ]
109- + (__int128 )a4 * b [2 ];
107+ d += (uint128_t )a2 * b [4 ]
108+ + (uint128_t )a3 * b [3 ]
109+ + (uint128_t )a4 * b [2 ];
110110 VERIFY_BITS (d , 114 );
111111 /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */
112112 c += (d & M ) * R ; d >>= 52 ;
@@ -118,13 +118,13 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
118118 VERIFY_BITS (c , 63 );
119119 /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */
120120
121- c += (__int128 )a0 * b [2 ]
122- + (__int128 )a1 * b [1 ]
123- + (__int128 )a2 * b [0 ];
121+ c += (uint128_t )a0 * b [2 ]
122+ + (uint128_t )a1 * b [1 ]
123+ + (uint128_t )a2 * b [0 ];
124124 VERIFY_BITS (c , 114 );
125125 /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */
126- d += (__int128 )a3 * b [4 ]
127- + (__int128 )a4 * b [3 ];
126+ d += (uint128_t )a3 * b [4 ]
127+ + (uint128_t )a4 * b [3 ];
128128 VERIFY_BITS (d , 114 );
129129 /* [d 0 0 t4 t3 c t1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */
130130 c += (d & M ) * R ; d >>= 52 ;
@@ -153,7 +153,7 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t
153153}
154154
155155SECP256K1_INLINE static void secp256k1_fe_sqr_inner (uint64_t * r , const uint64_t * a ) {
156- __int128 c , d ;
156+ uint128_t c , d ;
157157 uint64_t a0 = a [0 ], a1 = a [1 ], a2 = a [2 ], a3 = a [3 ], a4 = a [4 ];
158158 int64_t t3 , t4 , tx , u0 ;
159159 const uint64_t M = 0xFFFFFFFFFFFFFULL , R = 0x1000003D10ULL ;
@@ -169,11 +169,11 @@ SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
169169 * Note that [x 0 0 0 0 0] = [x*R].
170170 */
171171
172- d = (__int128 )(a0 * 2 ) * a3
173- + (__int128 )(a1 * 2 ) * a2 ;
172+ d = (uint128_t )(a0 * 2 ) * a3
173+ + (uint128_t )(a1 * 2 ) * a2 ;
174174 VERIFY_BITS (d , 114 );
175175 /* [d 0 0 0] = [p3 0 0 0] */
176- c = (__int128 )a4 * a4 ;
176+ c = (uint128_t )a4 * a4 ;
177177 VERIFY_BITS (c , 112 );
178178 /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */
179179 d += (c & M ) * R ; c >>= 52 ;
@@ -186,9 +186,9 @@ SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
186186 /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */
187187
188188 a4 *= 2 ;
189- d += (__int128 )a0 * a4
190- + (__int128 )(a1 * 2 ) * a3
191- + (__int128 )a2 * a2 ;
189+ d += (uint128_t )a0 * a4
190+ + (uint128_t )(a1 * 2 ) * a3
191+ + (uint128_t )a2 * a2 ;
192192 VERIFY_BITS (d , 115 );
193193 /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */
194194 d += c * R ;
@@ -203,11 +203,11 @@ SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
203203 VERIFY_BITS (t4 , 48 );
204204 /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */
205205
206- c = (__int128 )a0 * a0 ;
206+ c = (uint128_t )a0 * a0 ;
207207 VERIFY_BITS (c , 112 );
208208 /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */
209- d += (__int128 )a1 * a4
210- + (__int128 )(a2 * 2 ) * a3 ;
209+ d += (uint128_t )a1 * a4
210+ + (uint128_t )(a2 * 2 ) * a3 ;
211211 VERIFY_BITS (d , 114 );
212212 /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */
213213 u0 = d & M ; d >>= 52 ;
@@ -218,7 +218,7 @@ SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
218218 u0 = (u0 << 4 ) | tx ;
219219 VERIFY_BITS (u0 , 56 );
220220 /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */
221- c += (__int128 )u0 * (R >> 4 );
221+ c += (uint128_t )u0 * (R >> 4 );
222222 VERIFY_BITS (c , 113 );
223223 /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */
224224 r [0 ] = c & M ; c >>= 52 ;
@@ -227,11 +227,11 @@ SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
227227 /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */
228228
229229 a0 *= 2 ;
230- c += (__int128 )a0 * a1 ;
230+ c += (uint128_t )a0 * a1 ;
231231 VERIFY_BITS (c , 114 );
232232 /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */
233- d += (__int128 )a2 * a4
234- + (__int128 )a3 * a3 ;
233+ d += (uint128_t )a2 * a4
234+ + (uint128_t )a3 * a3 ;
235235 VERIFY_BITS (d , 114 );
236236 /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */
237237 c += (d & M ) * R ; d >>= 52 ;
@@ -243,11 +243,11 @@ SECP256K1_INLINE static void secp256k1_fe_sqr_inner(uint64_t *r, const uint64_t
243243 VERIFY_BITS (c , 63 );
244244 /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */
245245
246- c += (__int128 )a0 * a2
247- + (__int128 )a1 * a1 ;
246+ c += (uint128_t )a0 * a2
247+ + (uint128_t )a1 * a1 ;
248248 VERIFY_BITS (c , 114 );
249249 /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */
250- d += (__int128 )a3 * a4 ;
250+ d += (uint128_t )a3 * a4 ;
251251 VERIFY_BITS (d , 114 );
252252 /* [d 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */
253253 c += (d & M ) * R ; d >>= 52 ;
0 commit comments