@@ -14,7 +14,10 @@ import LLVM.General.Context
1414import LLVM.General.Diagnostic
1515import LLVM.General.AST
1616import LLVM.General.AST.AddrSpace
17−import LLVM.General.Target
17+import LLVM.General.Target ( TargetMachine
18+ , withTargetOptions, withTargetMachine, getTargetMachineDataLayout
19+ , initializeAllTargets, lookupTarget
20+ )
1821import LLVM.General.AST.DataLayout
1922import LLVM.General.PassManager
2023import qualified LLVM.General.Module as M
@@ -895,11 +898,11 @@ cgOp (LZExt (ITFixed from) (ITFixed to)) [x]
895898cgOp (LSExt (ITFixed from) (ITFixed to)) [x]
896899 | nativeTyWidth from < nativeTyWidth to = iCoerce SExt from to x
897900
898−cgOp (LLt (ATInt ity)) [x,y] = iCmp ity IPred.SLT x y
899−cgOp (LLe (ATInt ity)) [x,y] = iCmp ity IPred.SLE x y
901+cgOp (LLt (ATInt ity)) [x,y] = iCmp ity IPred.ULT x y
902+cgOp (LLe (ATInt ity)) [x,y] = iCmp ity IPred.ULE x y
900903cgOp (LEq (ATInt ity)) [x,y] = iCmp ity IPred.EQ x y
901−cgOp (LGe (ATInt ity)) [x,y] = iCmp ity IPred.SGE x y
902−cgOp (LGt (ATInt ity)) [x,y] = iCmp ity IPred.SGT x y
904+cgOp (LGe (ATInt ity)) [x,y] = iCmp ity IPred.UGE x y
905+cgOp (LGt (ATInt ity)) [x,y] = iCmp ity IPred.UGT x y
903906cgOp (LPlus (ATInt ity)) [x,y] = ibin ity x y (Add False False)
904907cgOp (LMinus (ATInt ity)) [x,y] = ibin ity x y (Sub False False)
905908cgOp (LTimes (ATInt ity)) [x,y] = ibin ity x y (Mul False False)