diff --git a/lib/Target/Mips/MipsInstrInfo.td b/lib/Target/Mips/MipsInstrInfo.td index 2427a0e09c6..642b4274ac0 100644 --- a/lib/Target/Mips/MipsInstrInfo.td +++ b/lib/Target/Mips/MipsInstrInfo.td @@ -397,7 +397,7 @@ class ReadHardware: FR<0x1f, 0x3b, (outs CPURegs:$dst), (ins HWRegs:$src), } // Atomic instructions with 2 source operands (ATOMIC_SWAP & ATOMIC_LOAD_*). -class Atomic2 : +class Atomic2Ops : MipsPseudo<(outs CPURegs:$dst), (ins CPURegs:$ptr, CPURegs:$incr), !strconcat("atomic_", Opstr, "\t$dst, $ptr, $incr"), [(set CPURegs:$dst, @@ -446,28 +446,28 @@ def CPLOAD : MipsPseudo<(outs), (ins CPURegs:$picreg), ".cpload\t$picreg", []>; def CPRESTORE : MipsPseudo<(outs), (ins i32imm:$loc), ".cprestore\t$loc", []>; let usesCustomInserter = 1 in { - def ATOMIC_LOAD_ADD_I8 : Atomic2; - def ATOMIC_LOAD_ADD_I16 : Atomic2; - def ATOMIC_LOAD_ADD_I32 : Atomic2; - def ATOMIC_LOAD_SUB_I8 : Atomic2; - def ATOMIC_LOAD_SUB_I16 : Atomic2; - def ATOMIC_LOAD_SUB_I32 : Atomic2; - def ATOMIC_LOAD_AND_I8 : Atomic2; - def ATOMIC_LOAD_AND_I16 : Atomic2; - def ATOMIC_LOAD_AND_I32 : Atomic2; - def ATOMIC_LOAD_OR_I8 : Atomic2; - def ATOMIC_LOAD_OR_I16 : Atomic2; - def ATOMIC_LOAD_OR_I32 : Atomic2; - def ATOMIC_LOAD_XOR_I8 : Atomic2; - def ATOMIC_LOAD_XOR_I16 : Atomic2; - def ATOMIC_LOAD_XOR_I32 : Atomic2; - def ATOMIC_LOAD_NAND_I8 : Atomic2; - def ATOMIC_LOAD_NAND_I16 : Atomic2; - def ATOMIC_LOAD_NAND_I32 : Atomic2; + def ATOMIC_LOAD_ADD_I8 : Atomic2Ops; + def ATOMIC_LOAD_ADD_I16 : Atomic2Ops; + def ATOMIC_LOAD_ADD_I32 : Atomic2Ops; + def ATOMIC_LOAD_SUB_I8 : Atomic2Ops; + def ATOMIC_LOAD_SUB_I16 : Atomic2Ops; + def ATOMIC_LOAD_SUB_I32 : Atomic2Ops; + def ATOMIC_LOAD_AND_I8 : Atomic2Ops; + def ATOMIC_LOAD_AND_I16 : Atomic2Ops; + def ATOMIC_LOAD_AND_I32 : Atomic2Ops; + def ATOMIC_LOAD_OR_I8 : Atomic2Ops; + def ATOMIC_LOAD_OR_I16 : Atomic2Ops; + def ATOMIC_LOAD_OR_I32 : Atomic2Ops; + def ATOMIC_LOAD_XOR_I8 : Atomic2Ops; + def ATOMIC_LOAD_XOR_I16 : Atomic2Ops; + def ATOMIC_LOAD_XOR_I32 : Atomic2Ops; + def ATOMIC_LOAD_NAND_I8 : Atomic2Ops; + def ATOMIC_LOAD_NAND_I16 : Atomic2Ops; + def ATOMIC_LOAD_NAND_I32 : Atomic2Ops; - def ATOMIC_SWAP_I8 : Atomic2; - def ATOMIC_SWAP_I16 : Atomic2; - def ATOMIC_SWAP_I32 : Atomic2; + def ATOMIC_SWAP_I8 : Atomic2Ops; + def ATOMIC_SWAP_I16 : Atomic2Ops; + def ATOMIC_SWAP_I32 : Atomic2Ops; def ATOMIC_CMP_SWAP_I8 : AtomicCmpSwap; def ATOMIC_CMP_SWAP_I16 : AtomicCmpSwap;