<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56446>56446</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            -emit-fir fails when input contains 128-bit integer literals
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          tarunprabhu
      </td>
    </tr>
</table>

<pre>
    Minimum reproducer

```
subroutine s(n)
  integer(kind = 16) :: n

  n = 9223372036854775808_16
end subroutine s
```

This results in the following output

```
[$] flang-new -fc1 -emit-mlir -o - i128.f90 

flang-new: /work/projects/flang/llvm-project/llvm/include/llvm/ADT/APInt.h:1481: int64_t llvm::APInt::getSExtValue() const: Assertion `getSignificantBits() <= 64 && "Too many bits for int64_t"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ../local/bin/flang-new -fc1 -emit-mlir -o - i128.f90
 #0 0x0000563dbc21eaa4 PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
 #1 0x0000563dbc21c00b SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f124d7eb8e0 (/usr/lib/libc.so.6+0x3e8e0)
 #3 0x00007f124d83b36c (/usr/lib/libc.so.6+0x8e36c)
 #4 0x00007f124d7eb838 gsignal (/usr/lib/libc.so.6+0x3e838)
 #5 0x00007f124d7d5535 abort (/usr/lib/libc.so.6+0x28535)
 #6 0x00007f124d7d545c (/usr/lib/libc.so.6+0x2845c)
 #7 0x00007f124d7e4366 (/usr/lib/libc.so.6+0x37366)
 #8 0x0000563dbfe25c6f (../local/bin/flang-new+0x4c40c6f)
 #9 0x0000563dbe5c23c7 mlir::arith::ConstantOp::getAsmResultNames(llvm::function_ref<void (mlir::Value, llvm::StringRef)>) (../local/bin/flang-new+0x33dd3c7)
#10 0x0000563dbe5c611f mlir::detail::OpAsmOpInterfaceInterfaceTraits::Model<mlir::arith::ConstantOp>::getAsmResultNames(mlir::detail::OpAsmOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, llvm::function_ref<void (mlir::Value, llvm::StringRef)>) (../local/bin/flang-new+0x33e111f)
#11 0x0000563dbfe03c90 (anonymous namespace)::SSANameState::numberValuesInOp(mlir::Operation&) AsmPrinter.cpp:0:0
#12 0x0000563dbfe06c95 (anonymous namespace)::SSANameState::SSANameState(mlir::Operation*, mlir::OpPrintingFlags const&) AsmPrinter.cpp:0:0
#13 0x0000563dbfe07a9e mlir::AsmState::AsmState(mlir::Operation*, mlir::OpPrintingFlags const&, llvm::DenseMap<mlir::Operation*, std::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<mlir::Operation*, void>, llvm::detail::DenseMapPair<mlir::Operation*, std::pair<unsigned int, unsigned int>>>*) (../local/bin/flang-new+0x4c22a9e)
#14 0x0000563dbfe14f98 mlir::Operation::print(llvm::raw_ostream&, mlir::OpPrintingFlags const&) (../local/bin/flang-new+0x4c2ff98)
#15 0x0000563dbc912657 Fortran::frontend::CodeGenAction::executeAction() (../local/bin/flang-new+0x172d657)
#16 0x0000563dbc2406fc Fortran::frontend::FrontendAction::execute() (../local/bin/flang-new+0x105b6fc)
#17 0x0000563dbc2331d3 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (../local/bin/flang-new+0x104e1d3)
#18 0x0000563dbc2462ac Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (../local/bin/flang-new+0x10612ac)
#19 0x0000563dbbdb4ad8 fc1_main(llvm::ArrayRef<char const*>, char const*) (../local/bin/flang-new+0xbcfad8)
#20 0x0000563dbbd2ea4f main (../local/bin/flang-new+0xb49a4f)
#21 0x00007f124d7d6290 (/usr/lib/libc.so.6+0x29290)
#22 0x00007f124d7d634a __libc_start_main (/usr/lib/libc.so.6+0x2934a)
#23 0x0000563dbbdb3a55 _start /build/glibc/src/glibc/csu/../sysdeps/x86_64/start.S:117:0
zsh: IOT instruction (core dumped)  flang-new -fc1 -emit-mlir -o - i128.f90
```

9223372036854775808_16 is the smallest number that triggers this bug. 9223372036854775807_16 works. In either case, `-emit-llvm` works. 

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzFWNtu4zYQ_Rr7hbBBUfcHP3hzaQN0m2AT9NWgqJGsrkQJJLVJ-vUdUnIsebOxty3QQJEscnh45sLhUFmbv24-V7Jq-oYo6FSb9wLUgl4v6Ha8R3S83KvuM9X2ppJA9IIlcsHSoYOQShoocTBLvlYyJwv_mngR9uOvLV5ETmEJkU4iZcz3Y0b9KAmDOA4TmuxwlJMBRJnN9x6h4f60rzQqoPvaaCRCzB5I0dZ1-1zJkiBA15sPtFqEnxYsWITXpKi5LFcSnsmqEB5ZQVOZVVNXiqxasiKVx5J1kVIyBXsbY7VcsNvnVn3FB1rzTxAGzXTrJPBZ19-a1dg-vuKjkqLuczg2bK-f7P3hTpr1HkG9IPEsNlo4CnaGODFnVCcz_CzBPN68mD943SNUYg0vWqltL9lqDcpULdo8olawKmVVVIJL86myDJPBT1fWJVGASqDjInywp7YlDZevJEM5NKk6kMC-BYtJwasa8vVgiIffbraPN9ZnaDXCSdaXNqpaZYhpyd6YTluu7BavsjL7PluLtjnqfWKeSuserPkIx0gYreRcKxTXe5Jx8dUoLmCc_tFgA8n7prOzuCaKXemDakvFG8JV2TcgjSVB1ms7YSt4jc-skgcvnff9GMAL5lNCXyj-hZGfZ4J5wHlAHhRayFF5stysqXn9K2pQu7Xxra3yBdtaew9dei06S5i6_zds7wRbUJqRUzCc6SwQG4HiwmNBHkOWAIav9fhtr5U1QpUNd7HW7Rod_4m--IBSx7WNMP4MJvEzPxJnYRJAqRlM8B0bPyGldgpcwspPZnDhHC4PQ2zimY24c2AsQdkZWHQKFoTnVWQJSs1g4hMVAz-KzqsWo9QMJpkGQAEsFFFhYT4KXAcViICi7AwsnYJBKJgvYmJDe8gdXOFqHH5e2ZyBeeG-e0srW918can1d97Y9Zgc80_RS2Hzyk5BgenDBrfleEQe09HVJGc9Glwh5RdwDP0bl3kuUMv38xxZv6ll1wg9USvyvGKiVg4G09Pw-75DNe47TJegClyXbz9wlVYuJeD1uc0B5a_OWubmx8b5F9PjDAI6M-ZtmySuJtrcd6C4NfbY8z95ATw08swL3jxSqS9Sl2G4bOVr0_aaSGubDrV1k7npH7fWYJgnDQwtsm8yUI6pvpNo5KkCE91dSYHGdHkW1PdJz1JiJ5QikYY_T2nW8gM63znJ8ULT3ta81AdXXkTaPyEd8xQm0Dh8wu3t7d_ymgbFNUgNn3k3WwKnoNrkQ0fHrchVL236BrtDG9s_e7eR9d4Md7JoP5zF7ZOno6cr6oD0MLD47_gO17BFX5ZvGUNPzZZEMHelFxRp8u5SHogpR2WSVxV_3rXaKODN6KTLQuxCvgXSmfENZ9VG6rEojMktbqOKjxwL1WLkyvyQqXL4BeRWHJWAFxC9gbFprCgvoOPFLMfZZnSiefET0KgQH9G5Hd_e4fMzTGiY4UQzJvGcie97uf-xYZoOK2J15_YKAe_b5nJVLnerRwNAcjP2yYkdI8Y_tOPI86jEN5zwPOfvlL588Xg08pDUjPWsWMnyLOB5QrAi3zXcIkyWyVYp_vrFbXpiz9Vx4xwSx7ztQkaZKHC-KSFG54QY8ADLDCRzGWCQovwM0DupNCOWnq_JWYpSMxh2CuMHnOx2dtgOPaHM7kDyDDCOmwH7Jx7weRiSAdIecLO-qnN7hrM4-NRKTN6E7vHuzKJfdQ6dPcK9JNEuCmyTBVk_ovM8Lz7uf39pW2WRu_snTMOY-HoxHFdZIloF7lAHuXXhpSf0Dz4WvP_NgVTanS11w-satCFDQYJtHI-vqipLUFYCxfBcu37ny0VsUezhX6_JnSSAlSOOF1y70gtJDFxd-Eb0IDlwWuYbP0_9lC9NZWrYDKIFamVP2Jo870GiZbreVYe4C0pNUNMVHssPH15IXWFpgefAZa_qzT8_bYdREETL_SbJk9TjMWW25AvwVBEVcZwJP4kpZNSHZc0zqPXGfTxh1iEOwn4YCK-X1YZRxmhMEy9kzAvWuK4gFZ7Io0gIERaLgAKGZ722PNatKpdq4yihdTV21pU2-tjJtdulwU2H-Lw3-1ZtMJp62Sme7fulm37j6P8N4KmW2A">