Mercurial > hg > CbC > CbC_gcc
comparison gcc/longlong.h @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | 855418dad1a3 |
children | b7f97abdc517 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
1322 #define __umulsidi3(u, v) __builtin_umulsidi3 (u, v) | 1322 #define __umulsidi3(u, v) __builtin_umulsidi3 (u, v) |
1323 #define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clz (X)) | 1323 #define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clz (X)) |
1324 #define count_trailing_zeros(COUNT, X) ((COUNT) = __builtin_ctz (X)) | 1324 #define count_trailing_zeros(COUNT, X) ((COUNT) = __builtin_ctz (X)) |
1325 #endif /* __xtensa__ */ | 1325 #endif /* __xtensa__ */ |
1326 | 1326 |
1327 #if defined xstormy16 | |
1328 extern UHItype __stormy16_count_leading_zeros (UHItype); | |
1329 #define count_leading_zeros(count, x) \ | |
1330 do \ | |
1331 { \ | |
1332 UHItype size; \ | |
1333 \ | |
1334 /* We assume that W_TYPE_SIZE is a multiple of 16... */ \ | |
1335 for ((count) = 0, size = W_TYPE_SIZE; size; size -= 16) \ | |
1336 { \ | |
1337 UHItype c; \ | |
1338 \ | |
1339 c = __clzhi2 ((x) >> (size - 16)); \ | |
1340 (count) += c; \ | |
1341 if (c != 16) \ | |
1342 break; \ | |
1343 } \ | |
1344 } \ | |
1345 while (0) | |
1346 #define COUNT_LEADING_ZEROS_0 W_TYPE_SIZE | |
1347 #endif | |
1348 | |
1327 #if defined (__z8000__) && W_TYPE_SIZE == 16 | 1349 #if defined (__z8000__) && W_TYPE_SIZE == 16 |
1328 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ | 1350 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ |
1329 __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \ | 1351 __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \ |
1330 : "=r" ((unsigned int)(sh)), \ | 1352 : "=r" ((unsigned int)(sh)), \ |
1331 "=&r" ((unsigned int)(sl)) \ | 1353 "=&r" ((unsigned int)(sl)) \ |