<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - 32-bit sparc backend fails to allocate by-value returns of 256 bytes"
   href="https://bugs.llvm.org/show_bug.cgi?id=48698">48698</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>32-bit sparc backend fails to allocate by-value returns of 256 bytes
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: Sparc
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>simonas+llvm.org@kazlauskas.me
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Code

    define i256 @test() unnamed_addr {
    start:
      ret i256 0
    }

built with `llc -mtriple=sparc` will fail with the following assertion:

LLVM ERROR: unable to allocate function return #6
PLEASE submit a bug report to <a href="https://bugs.llvm.org/">https://bugs.llvm.org/</a> and include the crash
backtrace.
Stack dump:
0.      Program arguments: /opt/compiler-explorer/clang-trunk/bin/llc -o
./output.s -mtriple=sparc <source>
1.      Running pass 'Function Pass Manager' on module '<source>'.
2.      Running pass 'SPARC DAG->DAG Pattern Instruction Selection' on function
'@test'
<snip>
 #7 0x0000558c147c69b6
llvm::CCState::AnalyzeReturn(llvm::SmallVectorImpl<llvm::ISD::OutputArg>
const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT,
llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&))
(/opt/compiler-explorer/clang-trunk/bin/llc+0x1b7e9b6)
 #8 0x0000558c13f8c16d llvm::SparcTargetLowering::LowerReturn_32(llvm::SDValue,
unsigned int, bool, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&,
llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SDLoc const&,
llvm::SelectionDAG&) const
(/opt/compiler-explorer/clang-trunk/bin/llc+0x134416d)
 #9 0x0000558c151c77cb llvm::SelectionDAGBuilder::visitRet(llvm::ReturnInst
const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x257f7cb)
#10 0x0000558c151ec4fc llvm::SelectionDAGBuilder::visit(llvm::Instruction
const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x25a44fc)
<snip>
Compiler returned: 255

Possibly related to <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Lowering long vector returns fails."
   href="show_bug.cgi?id=27161">bug 27161</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>