[llvm-commits] [llvm] r145842 - in /llvm/trunk/lib/Target/ARM: ARMInstrFormats.td ARMInstrNEON.td

Jim Grosbach grosbach at apple.com
Mon Dec 5 12:33:33 PST 2011


Tests for these along w/ the rest of the aliases in r145846.

Thanks for checking!

-jim
On Dec 5, 2011, at 12:12 PM, Chad Rosier wrote:

> 10-4.
> 
> On Dec 5, 2011, at 12:10 PM, Jim Grosbach wrote:
> 
>> Forthcoming, along with a few other variants of this same instruction class.
>> 
>> On Dec 5, 2011, at 12:06 PM, Chad Rosier wrote:
>> 
>>> Test case?
>>> 
>>> Chad
>>> 
>>> On Dec 5, 2011, at 11:55 AM, Jim Grosbach wrote:
>>> 
>>>> Author: grosbach
>>>> Date: Mon Dec  5 13:55:46 2011
>>>> New Revision: 145842
>>>> 
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=145842&view=rev
>>>> Log:
>>>> ARM assmebler parsing for two-operand VMUL instructions.
>>>> 
>>>> Combined destination and first source operand for f32 variant of the VMUL
>>>> (by scalar) instruction.
>>>> 
>>>> rdar://10522016
>>>> 
>>>> Modified:
>>>> llvm/trunk/lib/Target/ARM/ARMInstrFormats.td
>>>> llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
>>>> 
>>>> Modified: llvm/trunk/lib/Target/ARM/ARMInstrFormats.td
>>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrFormats.td?rev=145842&r1=145841&r2=145842&view=diff
>>>> ==============================================================================
>>>> --- llvm/trunk/lib/Target/ARM/ARMInstrFormats.td (original)
>>>> +++ llvm/trunk/lib/Target/ARM/ARMInstrFormats.td Mon Dec  5 13:55:46 2011
>>>> @@ -231,6 +231,8 @@
>>>>    : InstAlias<Asm, Result, Emit>, Requires<[HasVFP2]>;
>>>> class VFP3InstAlias<string Asm, dag Result, bit Emit = 0b1>
>>>>    : InstAlias<Asm, Result, Emit>, Requires<[HasVFP3]>;
>>>> +class NEONInstAlias<string Asm, dag Result, bit Emit = 0b1>
>>>> +      : InstAlias<Asm, Result, Emit>, Requires<[HasNEON]>;
>>>> 
>>>> //===----------------------------------------------------------------------===//
>>>> // ARM Instruction templates.
>>>> 
>>>> Modified: llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
>>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrNEON.td?rev=145842&r1=145841&r2=145842&view=diff
>>>> ==============================================================================
>>>> --- llvm/trunk/lib/Target/ARM/ARMInstrNEON.td (original)
>>>> +++ llvm/trunk/lib/Target/ARM/ARMInstrNEON.td Mon Dec  5 13:55:46 2011
>>>> @@ -3672,6 +3672,15 @@
>>>> def  VMULslfq : N3VQSL<0b10, 0b1001, IIC_VBINQ, "vmul", "f32", v4f32,
>>>>                     v2f32, fmul>;
>>>> 
>>>> +// Two-operand aliases.
>>>> +def : NEONInstAlias<"vmul${p}.f32 $Ddn $Dm$lane",
>>>> +                    (VMULslfd DPR:$Ddn, DPR:$Ddn, DPR_VFP2:$Dm,
>>>> +                              VectorIndex32:$lane, pred:$p)>;
>>>> +def : NEONInstAlias<"vmul${p}.f32 $Qdn $Dm$lane",
>>>> +                    (VMULslfq QPR:$Qdn, QPR:$Qdn, DPR_VFP2:$Dm,
>>>> +                              VectorIndex32:$lane, pred:$p)>;
>>>> +
>>>> +
>>>> def : Pat<(v8i16 (mul (v8i16 QPR:$src1),
>>>>                    (v8i16 (NEONvduplane (v8i16 QPR:$src2), imm:$lane)))),
>>>>        (v8i16 (VMULslv8i16 (v8i16 QPR:$src1),
>>>> 
>>>> 
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>> 
>> 
> 




More information about the llvm-commits mailing list