diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2014-01-26 06:09:54 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2014-01-26 06:09:54 +0000 |
commit | 39f0833f47a8ed1cf372cf1bf84908bf49cfb308 (patch) | |
tree | 3c6ad67ca024478c8feb42e028464c0d1e8feab0 /llvm/lib/Target/Sparc | |
parent | 24ea09ef7d775934ef79b4a7cf871ecc2e501a88 (diff) | |
download | bcm5719-llvm-39f0833f47a8ed1cf372cf1bf84908bf49cfb308.tar.gz bcm5719-llvm-39f0833f47a8ed1cf372cf1bf84908bf49cfb308.zip |
Fix swapped CASA operands.
Found by SingleSource/UnitTests/AtomicOps.c
llvm-svn: 200130
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r-- | llvm/lib/Target/Sparc/SparcISelLowering.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/Sparc/SparcISelLowering.cpp b/llvm/lib/Target/Sparc/SparcISelLowering.cpp index 85a02edc0a4..b5550496662 100644 --- a/llvm/lib/Target/Sparc/SparcISelLowering.cpp +++ b/llvm/lib/Target/Sparc/SparcISelLowering.cpp @@ -2977,7 +2977,7 @@ SparcTargetLowering::expandAtomicRMW(MachineInstr *MI, // loop: // %val = phi %val0, %dest // %upd = op %val, %rs2 - // %dest = cas %addr, %upd, %val + // %dest = cas %addr, %val, %upd // cmp %val, %dest // bne loop // done: @@ -3036,7 +3036,7 @@ SparcTargetLowering::expandAtomicRMW(MachineInstr *MI, } BuildMI(LoopMBB, DL, TII.get(is64Bit ? SP::CASXrr : SP::CASrr), DestReg) - .addReg(AddrReg).addReg(UpdReg).addReg(ValReg) + .addReg(AddrReg).addReg(ValReg).addReg(UpdReg) .setMemRefs(MI->memoperands_begin(), MI->memoperands_end()); BuildMI(LoopMBB, DL, TII.get(SP::CMPrr)).addReg(ValReg).addReg(DestReg); BuildMI(LoopMBB, DL, TII.get(is64Bit ? SP::BPXCC : SP::BCOND)) |