mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-18 18:42:46 +02:00
Change to use the new GenericBinaryInst class. Support lots more operators.
llvm-svn: 92
This commit is contained in:
parent
87259414f9
commit
747dcc99bc
@ -10,14 +10,21 @@
|
||||
BinaryOperator *BinaryOperator::create(unsigned Op, Value *S1, Value *S2,
|
||||
const string &Name) {
|
||||
switch (Op) {
|
||||
case Add: return new AddInst(S1, S2, Name);
|
||||
case Sub: return new SubInst(S1, S2, Name);
|
||||
case SetLT:
|
||||
case SetGT:
|
||||
case SetLE:
|
||||
case SetGE:
|
||||
case SetEQ:
|
||||
case SetNE:
|
||||
// Standard binary operators...
|
||||
case Add: return new GenericBinaryInst(Op, S1, S2, "add", Name);
|
||||
case Sub: return new GenericBinaryInst(Op, S1, S2, "sub", Name);
|
||||
case Mul: return new GenericBinaryInst(Op, S1, S2, "mul", Name);
|
||||
case Div: return new GenericBinaryInst(Op, S1, S2, "div", Name);
|
||||
case Rem: return new GenericBinaryInst(Op, S1, S2, "rem", Name);
|
||||
|
||||
// Logical operators...
|
||||
case And: return new GenericBinaryInst(Op, S1, S2, "and", Name);
|
||||
case Or : return new GenericBinaryInst(Op, S1, S2, "or", Name);
|
||||
case Xor: return new GenericBinaryInst(Op, S1, S2, "xor", Name);
|
||||
|
||||
// Binary comparison operators...
|
||||
case SetLT: case SetGT: case SetLE:
|
||||
case SetGE: case SetEQ: case SetNE:
|
||||
return new SetCondInst((BinaryOps)Op, S1, S2, Name);
|
||||
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user