This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/50325] [4.7 Regression] 76 new fails with rev. 177691
- From: "iains at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 01 Dec 2011 11:08:28 +0000
- Subject: [Bug middle-end/50325] [4.7 Regression] 76 new fails with rev. 177691
- Auto-submitted: auto-generated
- References: <bug-50325-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50325
--- Comment #25 from Iain Sandoe <iains at gcc dot gnu.org> 2011-12-01 11:08:28 UTC ---
the following tried using the vendor's gcc-4.2:
typedef struct
{
unsigned short flda:9;
float b;
unsigned int fldc:17;
float d;
unsigned long long flde:33;
float f;
} Struct;
extern float __attribute__((noinline)) foo (Struct s);
int main ()
{
Struct q = {0x1fd, 1.0F, 0x1fffd, 2.0F, 0x1fffffffdLL, 3.0F};
/* Is layed out thus xx = space directives:
0xfe 0x80 xx xx
0x3F800000
0xff fe 80 xx
0x40000000
ff ff ff fe 80 xx xx xx
0x40400000
i.e. all ms aligned...
*/
/* It is passed in r3..r9 in 32 bit chunks with the same organization as
memory
- no shuffling at that stage. */
return (int) foo (q);
}