diff --git a/lib/ExecutionEngine/Interpreter/Execution.cpp b/lib/ExecutionEngine/Interpreter/Execution.cpp
index 6254293..b9f8030 100644
--- a/lib/ExecutionEngine/Interpreter/Execution.cpp
+++ b/lib/ExecutionEngine/Interpreter/Execution.cpp
@@ -260,6 +260,33 @@
 
 
 //===----------------------------------------------------------------------===//
+//                      Unary Instruction Implementations
+//===----------------------------------------------------------------------===//
+
+#define IMPLEMENT_UNARY_OPERATOR(OP, TY) \
+   case Type::TY##TyID: Dest.TY##Val = OP Src.TY##Val; break
+
+static void executeNotInst(UnaryOperator *I, ExecutionContext &SF) {
+  const Type *Ty   = I->getOperand(0)->getType();
+  GenericValue Src = getOperandValue(I->getOperand(0), SF);
+  GenericValue Dest;
+  switch (Ty->getPrimitiveID()) {
+    IMPLEMENT_UNARY_OPERATOR(~, UByte);
+    IMPLEMENT_UNARY_OPERATOR(~, SByte);
+    IMPLEMENT_UNARY_OPERATOR(~, UShort);
+    IMPLEMENT_UNARY_OPERATOR(~, Short);
+    IMPLEMENT_UNARY_OPERATOR(~, UInt);
+    IMPLEMENT_UNARY_OPERATOR(~, Int);
+    IMPLEMENT_UNARY_OPERATOR(~, ULong);
+    IMPLEMENT_UNARY_OPERATOR(~, Long);
+    IMPLEMENT_UNARY_OPERATOR(~, Pointer);
+  default:
+    cout << "Unhandled type for Not instruction: " << Ty << "\n";
+  }
+  SetValue(I, Dest, SF);
+}
+
+//===----------------------------------------------------------------------===//
 //                    Binary Instruction Implementations
 //===----------------------------------------------------------------------===//
 
@@ -1152,6 +1179,7 @@
     executeBinaryInst(cast<BinaryOperator>(I), SF);
   } else {
     switch (I->getOpcode()) {
+    case Instruction::Not:     executeNotInst(cast<UnaryOperator>(I),SF); break;
       // Terminators
     case Instruction::Ret:     executeRetInst  (cast<ReturnInst>(I), SF); break;
     case Instruction::Br:      executeBrInst   (cast<BranchInst>(I), SF); break;
