- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The test program below works in gcc? Is there a header file that I am missing to make this work in icc? Thanks for the help ... John
icc -g -o tst_int128 tst_int128.c
tst_int128.c(5): error: identifier "__int128_t" is undefined
__int128_t x = -1025;
^
compilation aborted for tst_int128.c (code 2)
[root@localhost C]# cat tst_int128.c
#include
int main()
{
__int128_t x = -1025;
printf("Done ");
return 0;
}
[root@localhost C]#
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
http://gcc.gnu.org/ml/gcc/2002-02/msg00818.html
I agree that extensions of
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
http://gcc.gnu.org/ml/gcc/2002-02/msg00818.html
I agree that extensions of
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm going to add one more request to have a closer look at this problem, hoping it gets fixed or how I (and lots of others) can work around this to build libffi with icc. this actually breaks the python builds somewhat (no ctypes module :(, which is a bit of a shame for a nice product like icc.
it would be nice if some expert could point out how to get around the libffi build error
thanks a lot,
stijn
more info:
tested with icc 11.1.038 on SL5.3 x86_64 (RHEL5 clone)
libffi build instrutions:
wget ftp://sources.redhat.com/pub/libffi/libffi-3.0.8.tar.gz
tar xzf libffi-3.0.8.tar.gz
cd libffi-3.0.8
export CC=icc
./configure
make
error:
icc -DHAVE_CONFIG_H -I. -I. -I./include -Iinclude -I./src -Wall -g -fexceptions -g -O2 -MT src/x86/ffi64.lo -MD -MP -MF src/x86/.deps/ffi64.Tpo -c src/x86/ffi64.c -fPIC -DPIC -o src/x86/.libs/ffi64.o
src/x86/ffi64.c(43): error: identifier "__int128_t" is undefined
__int128_t sse[MAX_SSE_REGS];
^
offending code from ffi64.c file:
struct register_args
{
/* Registers for argument passing. */
UINT64 gpr[MAX_GPR_REGS];
__int128_t sse[MAX_SSE_REGS];
};
as i have not knowledge/experience to fix this myself (eg can the __int128_t be replaced by any of the __m128 types icc supports?), hints are very much welcome.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have submitted a feature request to Intel compiler development team. I will update the thread when I have more information on this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have submitted a feature request to Intel compiler development team. I will update the thread when I have more information on this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear customer,
Engineering team is still working on this feature.Here is a workaround:
do
typedef struct { int64_t m[2]; } __int128_t;
and then change where the uint64_t is assigned to this to be:
sse
sse
and where the uint32_t is assigned to:
sse
sse
Hope this helps.
Regards,
Feilong
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi feilong,
thanks for the update. i just succesfully build python 2.6.4 with icc 11.1.069. works perfectly.
stijn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you still have the source code you modified to make this work? This is still an unresolved issue when compiling ffi.c with icc on Linux, in the latest development branches of both Python versions 2.7 and 3.2.
I'd really appreciate if you posted the patch here so that others such as myself can get this to work.
Thanks, and Kind regards,
Alex
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you still have the source code you modified to make this work? This is still an unresolved issue when compiling ffi.c with icc on Linux, in the latest development branches of both Python versions 2.7 and 3.2.
I'd really appreciate if you posted the patch here so that others such as myself can get this to work.
Thanks, and Kind regards,
Alex
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I see on libffi-discuss [1] where there are still issues when building upstream libffi with icc. Do y'all plan to push the patches you have for EasyBuild to upstream libffi?
-- Meador
[1] http://sourceware.org/ml/libffi-discuss/2012/msg00179.html
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This has been fixed in latest Intel Composer XE 2013.
Om
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I wanted to detect face from a web camera. I found an example of face detection in samples folder.But they have provided a wrapper class called as CIppiImage . I am retriving frame using open cv,so I am not able to figure out that How I will be able to convert Mat Image or IplImage to the type of CIppiImage
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
om-sachan (Intel) wrote:
This has been fixed in latest Intel Composer XE 2013.
Om
I have tried to use the latest version of icc while compiling Python 2.7.5 :
[username@ws Python-2.7.5]$ which icc
/opt/intel/composer_xe_2013.4.183/bin/intel64/icc
For original code of ffi64.c I have an error as below:
/home/.../x86/ffi64.c(56): error: identifier "__m128" is undefined
UINT128 i128;
then I have changed the code of ffi64.c as proposed in a workaround above:
[use@ws x86]$ diff ffi64.c ffi64_old.c
42c42
< typedef struct { int64_t m[2]; } __int128_t;
---
> #define UINT128 __m128
510,511c510
< reg_args->sse[ssecount].m[0] = *(UINT64 *) a;
< reg_args->sse[ssecount++].m[1] = 0;
---
> reg_args->sse[ssecount++].i64 = *(UINT64 *) a;
514,515c513
< reg_args->sse[ssecount].m[0] = *(UINT32 *) a;
< reg_args->sse[ssecount++].m[1] = 0;
---
> reg_args->sse[ssecount++].i32 = *(UINT32 *) a;
Now I have following errors :
/home/.../x86/ffi64.c(42): error: invalid redeclaration of type name "__int128_t"
typedef struct { int64_t m[2]; } __int128_t;
^
/home/.../x86/ffi64.c(56): error: identifier "UINT128" is undefined
UINT128 i128;
^
Any suggestions?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>error: identifier "__m128" is undefined>>>
As Sergey pointed it out you must to find header file for this declaration.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>error: identifier "__m128" is undefined>>>
As Sergey pointed it out you must to find header file for this declaration.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The __m128 is defined in #include "xmmintrin.h".
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page