[Bug target/71486] Transparent union doesn't work with long double for x86_64

2016-06-10 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71486 --- Comment #3 from Uroš Bizjak --- Completely disabling TARGET_MEMBER_TYPE_FORCES_BLK, the testcase compiles OK: -O2 movabsq $-9223372036854775808, %rdi movl$16383, %esi callfoo movl$1, %edi

[Bug target/71486] Transparent union doesn't work with long double for x86_64

2016-06-10 Thread ubizjak at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71486 --- Comment #2 from Uroš Bizjak --- (In reply to Richard Biener from comment #1) > I thought the ABI for transparent unions was that of passing its members. > > But int128 and long double are passed differently. Similar case compiles OK (value

[Bug target/71486] Transparent union doesn't work with long double for x86_64

2016-06-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71486 --- Comment #1 from Richard Biener --- I thought the ABI for transparent unions was that of passing its members. But int128 and long double are passed differently.