[llvm-commits] [llvm] r155866 - in /llvm/trunk: lib/Transforms/InstCombine/InstCombineCalls.cpp test/Transforms/InstCombine/2012-04-23-Neon-Intrinsics.ll

Eli Friedman eli.friedman at gmail.com
Tue May 1 01:28:07 PDT 2012


On Tue, May 1, 2012 at 1:07 AM, Duncan Sands <baldrick at free.fr> wrote:
> Hi Lang,
>
> On 01/05/12 02:20, Lang Hames wrote:
>> Author: lhames
>> Date: Mon Apr 30 19:20:38 2012
>> New Revision: 155866
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=155866&view=rev
>> Log:
>> Add support for llvm.arm.neon.vmull* intrinsics to InstCombine. Fixes
>> <rdar://problem/11291436>.
>>
>> This is a second attempt at a fix for this, the first was r155468. Thanks
>> to Chandler, Bob and others for the feedback that helped me improve this.
>
> are these intrinsics actually useful?  Couldn't you get the same effect using
> generic IR, eg: first extend <4 x i16> to <4 x i32> then do the multiplication
> in <4 x i32>; and have the ARM code generators recognize this pattern and create
> the appropriate vmull instruction?

Yes... but the patterns don't work consistently.  See r128502.

-Eli




More information about the llvm-commits mailing list