|
This platform is currently assigned to Farid. Shouldn't this issue also be assigned to Farid?
Fixed thus: http://svn.apache.org/viewvc?rev=643964&view=rev
Will be closed after merging the patch to 4.2.x branch. The latest Intel compiler understands all the gcc built-ins with the exception of __builtin_memmove:
$ cat t.c && icc -V t.c || icc -V -D__builtin_memmove=__builtin_memcpy
int main ()
{
char a [1];
char b [2];
__builtin_memcpy (a, b , sizeof a);
__builtin_memcmp (a, b , sizeof a);
__builtin_memset (a, 0, sizeof a);
__builtin_strlen (a);
__builtin_memmove (a, b , sizeof a);
}
Intel(R) C Compiler for applications running on IA-32, Version 10.1 Build 20070913 Package ID: l_cc_p_10.1.008
Copyright (C) 1985-2007 Intel Corporation. All rights reserved.
Edison Design Group C/C++ Front End, version 3.8 (Sep 13 2007 22:20:59)
Copyright 1988-2006 Edison Design Group, Inc.
t.c(10): warning #266: function "__builtin_memmove" declared implicitly
__builtin_memmove (a, b , sizeof a);
^
GNU ld version 2.17.50.0.18-1 20070731
/tmp/icc5J6ZvI.o: In function `main':
t.c:(.text+0x25): undefined reference to `__builtin_memmove'
Intel(R) C Compiler for applications running on IA-32, Version 10.1 Build 20070913 Package ID: l_cc_p_10.1.008
Copyright (C) 1985-2007 Intel Corporation. All rights reserved.
The this thread
need more time for benchmarking.
Need to benchmark the difference between the __builtin_xxx() intrinsics and the "ordinary" functions that the compiler also treats as intrinsics but generates different code for, as pointed out in the discussion thread
Merged in 4.2.x branch thus: http://svn.apache.org/viewvc?view=rev&revision=648752
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
STDCXX-687.