Software Archive
Read-only legacy content
17061 Discussions

gcc 4.x for 128-bits integers operations in intel 32-bits cpu?

tai95104
Beginner
566 Views
Hi,

I am new to Intel processor. It looks like there are SSE registers for 128-bits operation for 32-bits pentium processors.
Just wonder if anyone can help on Intel 32-bits CPU using 128-bits SSE registers for 128 bits integer operations
in the gcc 4.x compiler. I have used gcc -msse3 -m128bit-long-double foo.c,
but it complains about "warning: integer constant is too large for its type" and
"error: invalid operands to binary &".

foo.c
long double x, y, z;
x=0x1ffffffff000000ffLL; /* 65 bits */
y=0xff00ff11LL;
z= x & y;

Are these ever supported or am I missing something?
Please let me know if I am in the wrong forum.

Thanks for help

Daniel
0 Kudos
1 Reply
TimP
Honored Contributor III
566 Views
I suspect no one understands what you are getting at here. For questions on gcc, you would normally start with the gcc manuals, then follow up with questions on the gcc-help mailing list (sign up at gcc.gnu.org).
If you want to initialize a floating point data type with hex constants, there likely are examples for ordinary double and long double, likely involving a union.
gcc has more support for 128-bit int types than icc, but I doubt you can expect any floating point data type to work with operators which are restricted to int data types, although you could work on an integer type in a union.
0 Kudos
Reply