[llvm-commits] [PATCH] Fix instruction selection for vduplane from v4f32 to v2f32

Silviu Baranga silbar01 at arm.com
Thu Sep 27 02:01:46 PDT 2012


Hi David,

 

Wouldn't it be better to fix the original problem? 

 

It seems that the problem is that the BUILD_VECTOR lowering code is creating
a VDUPLANE 

node that takes a v4i32/v4f32 and creates a v2i32/v2f32. It shouldn't do
that. It should extract

the D subreg and do a VDUPLANE on that in this case.

 

Cheers,

Silviu

From: llvm-commits-bounces at cs.uiuc.edu
[mailto:llvm-commits-bounces at cs.uiuc.edu] On Behalf Of David Peixotto
Sent: 27 September 2012 00:55
To: llvm-commits at cs.uiuc.edu
Subject: [llvm-commits] [PATCH] Fix instruction selection for vduplane from
v4f32 to v2f32

 

We are seeing some instruction selection failures for vduplane from larger
vectors to smaller vectors. See PR13938:
http://llvm.org/bugs/show_bug.cgi?id=13938.

 

A patch to fix this issue is attached.

 

This patch fixes an instruction selection failure for

ARMISD::VDUPLANE. The selector was missing patterns for using vdup

to initialize a vector when the source vector is a Q-reg and the

destination vector is a D-reg. The fix is to add new patterns to

allow the selector to properly select this pattern.

 

-- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted
by The Linux Foundation

 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120927/00e65522/attachment.html>


More information about the llvm-commits mailing list