diff --git a/GHC/Integer.lhs b/GHC/Integer.lhs
index 4ca4cee3b8735ea418489ad882775ef7b0e13df5..fd911e07d860a7cf6061702f19c4af59c1ebf4f6 100644
--- a/GHC/Integer.lhs
+++ b/GHC/Integer.lhs
@@ -85,6 +85,7 @@ import GHC.IntWord64 (
        )
 #endif
 
+import GHC.Classes
 import GHC.Ordering
 import GHC.Types
 
@@ -332,6 +333,10 @@ neqInteger (S# i)     (J# s d)   = cmpIntegerInt# s d i /=# 0#
 neqInteger (J# s d)   (S# i)     = cmpIntegerInt# s d i /=# 0#
 neqInteger (J# s1 d1) (J# s2 d2) = (cmpInteger# s1 d1 s2 d2) /=# 0#
 
+instance  Eq Integer  where
+    (==) = eqInteger
+    (/=) = neqInteger
+
 ------------------------------------------------------------------------
 
 leInteger :: Integer -> Integer -> Bool
@@ -378,6 +383,13 @@ compareInteger (J# s1 d1) (J# s2 d2)
      if res# <# 0# then LT else
      if res# ># 0# then GT else EQ
      }
+
+instance Ord Integer where
+    (<=) = leInteger
+    (>)  = gtInteger
+    (<)  = ltInteger
+    (>=) = geInteger
+    compare = compareInteger
 \end{code}