This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/39932] [4.5 Regression] Revision 146831 caused many test failures



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]