[PATCH][ARM] Get the correct input type type when generating a vpaddl

Silviu Baranga silbar01 at arm.com
Thu Apr 3 02:48:50 PDT 2014


Ping?

> -----Original Message-----
> From: Silviu Baranga [mailto:silbar01 at arm.com]
> Sent: 01 April 2014 10:54
> To: Commit Messages and Patches for LLVM
> Subject: [PATCH][ARM] Get the correct input type type when generating a
> vpaddl
> 
> Hi,
> 
> The attached patch fixes the code generation of vpaddl instructions in
> the ARM backend.
> The existing code assumed that the lane element type of the vector was
> the same as the output
> of the extract_vector_elt dag node. However extract_vector_elt can do
> an extend operation.
> 
> This can produce an invalid vpaddl that has a mismatch between the
> input type and the output
> type (for example the produced node can take a vector of i16 and
> produce a vector of i64),
> causing the compiler to fail in instruction selection.
> 
> The fix generates a vpaddl which has the correct input type. However,
> in this case we need to
> extend or truncate the output to the required size. This is correct
> because extract_vector_elt
> is doing an any_extend.
> 
> Please review.
> 
> Thanks,
> Silviu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vpaddl.diff
Type: application/octet-stream
Size: 2161 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140403/89a08529/attachment.obj>


More information about the llvm-commits mailing list