[llvm-commits] [llvm] r145842 - in /llvm/trunk/lib/Target/ARM: ARMInstrFormats.td ARMInstrNEON.td
Chad Rosier
mcrosier at apple.com
Mon Dec 5 12:12:03 PST 2011
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