[llvm-commits] [llvm] r150433 - /llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
Jakob Stoklund Olesen
stoklund at 2pi.dk
Mon Feb 13 15:58:17 PST 2012
On Feb 13, 2012, at 3:37 PM, Lang Hames <lhames at gmail.com> wrote:
> Author: lhames
> Date: Mon Feb 13 17:37:19 2012
> New Revision: 150433
>
> URL: http://llvm.org/viewvc/llvm-project?rev=150433&view=rev
> Log:
> Make operands for VSWP read-modify-write.
>
> Modified:
> llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
>
> Modified: llvm/trunk/lib/Target/ARM/ARMInstrNEON.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrNEON.td?rev=150433&r1=150432&r2=150433&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/ARM/ARMInstrNEON.td (original)
> +++ llvm/trunk/lib/Target/ARM/ARMInstrNEON.td Mon Feb 13 17:37:19 2012
> @@ -4869,11 +4869,13 @@
>
> // Vector Swap
> def VSWPd : N2VX<0b11, 0b11, 0b00, 0b10, 0b00000, 0, 0,
> - (outs DPR:$Vd), (ins DPR:$Vm), NoItinerary,
> - "vswp", "$Vd, $Vm", "", []>;
> + (outs DPR:$Vd, DPR:$Vd1), (ins DPR:$Vm, DPR:$Vm1),
> + NoItinerary, "vswp", "$Vd, $Vm", "$Vm = $Vd1, $Vm1 = $Vd",
> + []>;
> def VSWPq : N2VX<0b11, 0b11, 0b00, 0b10, 0b00000, 1, 0,
> - (outs QPR:$Vd), (ins QPR:$Vm), NoItinerary,
> - "vswp", "$Vd, $Vm", "", []>;
> + (outs QPR:$Vd, QPR:$Vd1), (ins QPR:$Vm, QPR:$Vm1),
> + NoItinerary, "vswp", "$Vd, $Vm", "$Vm = $Vd1, $Vm1 = $Vd",
> + []>;
Hi Lang,
You shouldn't swap the operands in the constraints. That makes the instruction unnecessary!
/jakob
More information about the llvm-commits
mailing list