fCmp :: FPred.FloatingPointPredicate -> Operand -> Operand -> Codegen Operand
fCmp pred x y = do
  nx <- unbox (FArith ATFloat) x
  ny <- unbox (FArith ATFloat) y
  nr <- inst $ FCmp pred nx ny []
  box (FArith (ATInt (ITFixed IT32))) nr
fCmp :: FPred.FloatingPointPredicate -> Operand -> Operand -> Codegen Operand
fCmp pred x y = do
  nx <- unbox (FArith ATFloat) x
  ny <- unbox (FArith ATFloat) y
  nr <- inst $ FCmp pred nx ny []
  box (FArith (ATInt (ITFixed IT32))) nr
fCmp pred x y = do
  nx <- unbox (FArith ATFloat) x
  ny <- unbox (FArith ATFloat) y
  nr <- inst $ FCmp pred nx ny []
  box (FArith (ATInt (ITFixed IT32))) nr