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 expand this in all cases. Constants go to VECTOR_CST, as you're doing, but variables can be expanded via a CONSTRUCTOR. Check out what we generate for (v4si){ x, x, x, x } r~