This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/39932] [4.5 Regression] Revision 146831 caused many test failures
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Apr 2009 21:18:47 -0000
- Subject: [Bug middle-end/39932] [4.5 Regression] Revision 146831 caused many test failures
- References: <bug-39932-682@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from pinskia at gcc dot gnu dot org 2009-04-28 21:18 -------
(In reply to comment #3)
> There error I get on cc.c-torture/execute/20050604-1.c and
> gcc.dg/torture/pr21817-1.c with optimization level 1 or greater is:
>
> x.c:6: error: invalid expression for min lvalue
> D.2000_6 = BIT_FIELD_REF <{ 1.0e+9, 1.0e+9, 1.0e+9, 1.0e+9 }, 64, 64>;
>
> pr21817.c is pretty small already but I did cut it down to:
>
> typedef float v4sf __attribute__((vector_size(16)));
> v4sf value;
> void foo(void)
> {
> value += (v4sf){1e9f,1e9f,1e9f,1e9f};
> }
>
> It is not clear if we have generated bad gimple or if the verifier is wrong.
Part of both, CONSTRUCTOR for VECTOR_TYPE with CONSTANT set is a valid
invariant but really BIT_FIELD_REF <{ 1.0e+9, 1.0e+9, 1.0e+9, 1.0e+9 }, 64, 64>
should simplify to just 1.0e+9.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39932