[llvm-commits] vector widening patch

Stefanus Du Toit stefanus.dutoit at rapidmind.com
Mon Oct 20 08:18:01 PDT 2008


Hi Mon Ping,

> +  // If it a vector of two, we will assume it doesn't make sense to  
> widen
> +  if (NElts == 2)
> +    return MVT::Other;

What's the reasoning behind this? In our experience this makes a lot  
of sense, at least on x86 SSE2+ (assuming MMX is disabled).

Stefanus

On 18-Oct-08, at 12:12 AM, Mon Ping Wang wrote:
> Hi,
>
> Here is a patch for vector widen.  In certain cases, it is more
> profitable to widen a vector from an illegal type to a legal type
> (e.g., v7i8 to v8i8) instead of scalarzing the vector.  This patch
> implements that.  The default implementation is to widen if there is a
> legal type that is wider than the illegal type and the vector has more
> elements.  Any target can override the default logic and implement it
> own policy.  Please let me know if you have any comments or concerns.
>
> Thanks,
> -- Mon Ping
> <widening.patch><ATT00001.txt>

--
Stefanus Du Toit <stefanus.dutoit at rapidmind.com>
   RapidMind Inc.
   phone: +1 519 885 5455 x116 -- fax: +1 519 885 1463






More information about the llvm-commits mailing list