19 Jul 2008 01:34
patch: more builtin support
This patch adds support for __builtin_{ffs[l][l], parity[l][l], popcount[l][l], huge_valf, huge_vall}.
+ test case
nans, powi[fl], prefetch still missing (among others, no doubt).
- Daniel
// RUN: ccc %s && ./a.out > A
// RUN: gcc %s && ./a.out > B
// RUN: diff A B
#include <stdio.h>
void test(int M, long long N) {
printf("%d %lld: %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",
M, N,
__builtin_ffs(M), __builtin_ffsl(M), __builtin_ffsll(M),
__builtin_parity(M), __builtin_parityl(M), __builtin_parityll(M),
__builtin_popcount(M), __builtin_popcountl(M), __builtin_popcountll(M),
__builtin_ffs(N), __builtin_ffsl(N), __builtin_ffsll(N),
__builtin_parity(N), __builtin_parityl(N), __builtin_parityll(N),
__builtin_popcount(N), __builtin_popcountl(N), __builtin_popcountll(N));
}
int main() {
int i;
test(-1,-1LL);
test(0,0);
test(1,1);
(Continue reading)
RSS Feed