This is the mail archive of the 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]

Re: [PATCH, rs6000] altivec_resolve_overloaded_builtin fixes (PR target/81622)

On Tue, Aug 01, 2017 at 08:40:28AM +0200, Jakub Jelinek wrote:
> Here is the variant patch.  In addition to fixing the ICE for vec_ld, for
> vec_st it just moves the premature computation of aligned to the point where
> it is used and that is after we've also verified that the types of the call
> arguments match the builtin argument types, it fixes ICE on vec_cmpne, where
> for -mpower9 it accesses TYPE_MODE (TREE_TYPE (arg0_type)) without checking
> that arg0_type is actually VECTOR_TYPE (if it is e.g. INTEGRAL_TYPE, it will
> segfault) and has some formatting fixes too.
> Bootstrapped/regtested on powerpc64{,le}-linux, ok for
> trunk/7.2 (for the latter it applies without the 2 formatting fix hunks
> with while (desc->code && desc->code == fcode &&)?

This is okay.  Thanks!

> Note, there is diagnostic message in that routine starting with "Builtin,
> that is something that should be fixed too, GCC diagnostic messages
> (except for Fortran) don't start with a capital letter.  But this change
> requires to adjust quite a lot of testcases in :(. 

That is not for 7, then :-)


> 2017-07-31  Jakub Jelinek  <>
> 	PR target/81622
> 	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
> 	__builtin_vec_cmpne verify both arguments are compatible vectors
> 	before looking at TYPE_MODE on the element type.  For __builtin_vec_ld
> 	verify arg1_type is a pointer or array type.  For __builtin_vec_st,
> 	move computation of aligned to after checking the argument types.
> 	Formatting fixes.
> 	* New test.

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