#9430: implement more arithmetic operations natively in the LLVM backend -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: michalt Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler (LLVM) | Version: 7.9 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"b1d1c652908ecd7bfcf13cf2e5dd06ac7926992c/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="b1d1c652908ecd7bfcf13cf2e5dd06ac7926992c" Support MO_{Add,Sub}IntC and MO_Add2 in the LLVM backend This includes: - Adding new LlvmType called LMStructP that represents an unpacked struct (this is necessary since LLVM's instructions the llvm.sadd.with.overflow.* return an unpacked struct). - Modifications to LlvmCodeGen.CodeGen to generate the LLVM instructions for the primops. - Modifications to StgCmmPrim to actually use those three instructions if we use the LLVM backend (so far they were only used for NCG). Test Plan: validate Reviewers: austin, rwbarton, bgamari Reviewed By: bgamari Subscribers: thomie, bgamari Differential Revision: https://phabricator.haskell.org/D991 GHC Trac Issues: #9430 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9430#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler