--- Comment #14 from kelvin at gcc dot ---
To reconcile comments 12 and 13, the subtle issue is that we don't even get
into the altivec_resolve_overloaded_builtin function for the following code:

  vec_extract (vi, 10);

The gimple expander replaces this code with BIT_FIELD_REF <> before even
attempting to expand this overloaded builtin.

However, in the case that the "identical" code is represented by inlined
function X, we do come through altivec_resolve_overloaded_builtin.

int X (vector int vi, int index) {
  return vec_extract (vi, index);
X (vi, 10)

There are "two" ways to fix this problem.  Either we can make the gimple
expansion of in-lined functions match the non-inlined functions, or we can
insert code into altivec_resolve_overloaded_builtin to accommodate the

I gather you prefer I address this within altivec_resolve_overloaded_builtin.

I'll pursue this unless directed otherwise.

Reply via email to