On 27 June 2012 21:27, Richard Henderson wrote:
> On 06/20/2012 05:44 AM, Ramana Radhakrishnan wrote:
>> + case NEON_DUP:
>> + if (TREE_CODE (argp[0]) == INTEGER_CST
>> + || TREE_CODE (argp[0]) == REAL_CST)
>> + return build_vector_from_val (result_type,
On 27 June 2012 21:27, Richard Henderson wrote:
> On 06/20/2012 05:44 AM, Ramana Radhakrishnan wrote:
>> + case NEON_DUP:
>> + if (TREE_CODE (argp[0]) == INTEGER_CST
>> + || TREE_CODE (argp[0]) == REAL_CST)
>> + return build_vector_from_val (result_type,
On 06/20/2012 05:44 AM, Ramana Radhakrishnan wrote:
> + case NEON_DUP:
> + if (TREE_CODE (argp[0]) == INTEGER_CST
> + || TREE_CODE (argp[0]) == REAL_CST)
> + return build_vector_from_val (result_type, argp[0]);
> + return NULL_TREE;
You can exp
Hi ,
This improves the vdup_n intrinsics where one tries to form constant
vectors. This uses targetm.fold_builtin to fold these vector
initializations to actual vector constants. The vdup_n cases are fine
with both endian-ness as the vector constant is just duplicated. In
addition I've made the *n