Skip to content

`time` fails to compile with LLVM backend on ARMv7 (32-bit platforms more generally?)

As of 9.8.1 the time package fails to compile with -fllvm backend on ARMv7 (and I suspect 32-bit platforms in general). Specifically, I see:

armv7l-unknown-linux-gnueabihf-ghc: panic! (the 'impossible' happened)
  GHC version 9.8.1:
        GHC.CmmToLlvm.CodeGen.binLlvmOp types
  MO_Add W32
  I64[BaseReg + 784]
  (-86399000000000)
  Call stack:
      CallStack (from HasCallStack):
        callStackDoc, called at compiler/GHC/Utils/Panic.hs:191:37 in ghc:GHC.Utils.Panic
        pprPanic, called at compiler/GHC/CmmToLlvm/CodeGen.hs:2207:16 in ghc:GHC.CmmToLlvm.CodeGen
        pprPanic, called at compiler/GHC/CmmToLlvm/CodeGen.hs:1725:19 in ghc:GHC.CmmToLlvm.CodeGen
  CallStack (from HasCallStack):
    panic, called at compiler/GHC/Utils/Error.hs:503:29 in ghc:GHC.Utils.Error


Please report this as a GHC bug:  https://www.haskell.org/ghc/reportabug
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information