Displaying 3 results from an estimated 3 matches for "hasbigendianpartord".
2015 Dec 01
2
Endianness for multi-word types
...t;
> So the order of the two doubles in your fp128 is not affected by the
> endianness; although each individual double is.
>
Well I'm still trying to understand the code base, so I may get this
completely wrong, but here is my understanding:
Looking at the comment of TargetLowering::hasBigEndianPartOrdering, it
seems that, all "internal types" (e.g. ppc_fp128, i128) are assumed to be
little-endian, and for non-ppc_fp128 external values (raw register tuples
or memory), the endianness follows the data layout endianness; for
ppc_fp128 external values (a pair of float registers or memory ch...
2015 Dec 01
3
Endianness for multi-word types
Hi,
I'm recently trying to investigate ppc_fp128 related problem. Here is a
minimal C++ test case that seems wrongly compiled:
long double id(long double a) {
return a;
}
bool f(long double x) {
return id(__builtin_fabsl(x)) >= 0;
}
int main() {
if (f(-123.l)) {
return 0;
}
return 1;
}
The program compiled with command:
clang++ -static -target powerpc64le-linux-gnu bad.cc
2015 Dec 01
3
Endianness for multi-word types
...fp128 is not affected by the
> > endianness; although each individual double is.
> >
> > Well I'm still trying to understand the code base, so I may get this
> > completely wrong, but here is my understanding:
> >
> > Looking at the comment of TargetLowering::hasBigEndianPartOrdering,
> > it seems that, all "internal types" (e.g. ppc_fp128, i128) are assumed
> > to be little-endian, and for non-ppc_fp128 external values (raw
> > register tuples or memory), the endianness follows the data layout
> > endianness; for ppc_fp128 external values...