comparison gcc/longlong.h @ 63:b7f97abdc517 gcc-4.6-20100522

update gcc from gcc-4.5.0 to gcc-4.6
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Mon, 24 May 2010 12:47:05 +0900
parents 77e2b8dfacca
children f6334be47118
comparison
equal deleted inserted replaced
56:3c8a44c06a95 63:b7f97abdc517
316 : "=r" (count), "=r" (__tmp) : "1" (x)); \ 316 : "=r" (count), "=r" (__tmp) : "1" (x)); \
317 } while (0) 317 } while (0)
318 #endif 318 #endif
319 319
320 #if (defined (__i370__) || defined (__s390__) || defined (__mvs__)) && W_TYPE_SIZE == 32 320 #if (defined (__i370__) || defined (__s390__) || defined (__mvs__)) && W_TYPE_SIZE == 32
321 #if !defined (__zarch__)
321 #define smul_ppmm(xh, xl, m0, m1) \ 322 #define smul_ppmm(xh, xl, m0, m1) \
322 do { \ 323 do { \
323 union {DItype __ll; \ 324 union {DItype __ll; \
324 struct {USItype __h, __l;} __i; \ 325 struct {USItype __h, __l;} __i; \
325 } __x; \ 326 } __x; \
337 __asm__ ("dr %0,%2" \ 338 __asm__ ("dr %0,%2" \
338 : "=r" (__x.__ll) \ 339 : "=r" (__x.__ll) \
339 : "0" (__x.__ll), "r" (d)); \ 340 : "0" (__x.__ll), "r" (d)); \
340 (q) = __x.__i.__l; (r) = __x.__i.__h; \ 341 (q) = __x.__i.__l; (r) = __x.__i.__h; \
341 } while (0) 342 } while (0)
343 #else
344 #define smul_ppmm(xh, xl, m0, m1) \
345 do { \
346 register SItype r0 __asm__ ("0"); \
347 register SItype r1 __asm__ ("1") = m0; \
348 \
349 __asm__ ("mr\t%%r0,%3" \
350 : "=r" (r0), "=r" (r1) \
351 : "r" (r1), "r" (m1)); \
352 (xh) = r1; (xl) = r0; \
353 } while (0)
354 #define sdiv_qrnnd(q, r, n1, n0, d) \
355 do { \
356 register SItype r0 __asm__ ("0") = n0; \
357 register SItype r1 __asm__ ("1") = n1; \
358 \
359 __asm__ ("dr\t%%r0,%3" \
360 : "=r" (r0), "=r" (r1) \
361 : "r" (r0), "r" (r1), "r" (d)); \
362 (q) = r0; (r) = r1; \
363 } while (0)
364 #endif /* __zarch__ */
342 #endif 365 #endif
343 366
344 #if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32 367 #if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
345 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ 368 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
346 __asm__ ("add{l} {%5,%1|%1,%5}\n\tadc{l} {%3,%0|%0,%3}" \ 369 __asm__ ("add{l} {%5,%1|%1,%5}\n\tadc{l} {%3,%0|%0,%3}" \