[Bug target/86197] New: POWERPC: float128 parameter passing
lei at ca dot ibm.com
gcc-bugzilla@gcc.gnu.org
Mon Jun 18 15:22:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86197
Bug ID: 86197
Summary: POWERPC: float128 parameter passing
Product: gcc
Version: 7.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: lei at ca dot ibm.com
Target Milestone: ---
Float128 should be considered qualified vector arguments and should be passed
in vector registers for homogeneous aggregates of up to 8 members.
Currently for homogeneous aggregates of 5+, they are being passed via the
stack.
$ cat a.c
struct E5 {
__float128 a[5];
};
__float128 testfp128_05(struct E5 a) {
return a.a[4];
}
Generated asm:
testfp128_05:
std 3,32(1)
std 4,40(1)
std 5,48(1)
std 6,56(1)
std 7,64(1)
std 8,72(1)
std 9,80(1)
std 10,88(1)
lxv 34,96(1)
blr
Compiler version:
gcc (GCC) 7.3.0
More information about the Gcc-bugs
mailing list