What is '~' mean in opc for SDNode

My backend has some “~” for opcode,such as:
SDNode *result = CurDAG->MorphNodeTo(Node, ~DSP::JC, CurDAG->getVTList(VTs), Ops);
DSP::JC is Instruction enum generated by tablegen.
I can not get it mean.

Machine opcodes have their opcode values negated by ~. This statement will convert Node to a machine node with opcode DSP::JC.

so, I can use
SDNode *result = CurDAG->MorphNodeTo(Node, DSP::JC, CurDAG->getVTList(VTs), Ops);
llvm will tanslate result to machine Node.