Yes, at least the first case (scalar operand 2) is supported by valarray.
http://www.reading.ac.uk/SerDepts/su/Topic/Pgram/PgSWC+FP01/Workshop/stdlib/stdref/val_6244.htm#Non-member%20Binary%20Operators

Additionally, if we follow valarray guideline, GCC should also support code 
like:

V4H a, c;
short b;

c = a + b; 

Instead of using
c = a + (V4H){b, b, b, b};

This can be useful.

> -----Original Message-----
> From: Joseph Myers [mailto:jos...@codesourcery.com] 
> Sent: 24 February 2009 18:52
> To: Bingfeng Mei
> Cc: gcc@gcc.gnu.org
> Subject: Re: Native support for vector shift
> 
> On Tue, 24 Feb 2009, Bingfeng Mei wrote:
> 
> > Currently, we have to use intrinsics to support such shift. 
> Isn't syntax 
> > of vector shift intuitive enough to be supported natively? 
> Someone may 
> > argue it breaks the C language. But vector is a GCC 
> extension anyway. 
> > Support for vector add/sub/etc already break C syntax. Any thought? 
> 
> The general guideline we've followed for C vector extensions 
> is "like C++ 
> valarray".  Does it support this?  (This isn't an absolute 
> rule in either 
> direction, but a useful guide and a set of semantics that have been 
> well-tested in practice.)
> 
> -- 
> Joseph S. Myers
> jos...@codesourcery.com
> 
> 

Reply via email to