<html>
    <head>
      <base href="https://bugs.freedesktop.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 - R600 LLVM Assertion in Instructions.cpp:1499"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=91828">91828</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>R600 LLVM Assertion in Instructions.cpp:1499
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Mesa
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

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

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

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Drivers/Gallium/r600
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dri-devel@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>ikalvachev@gmail.com
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>dri-devel@lists.freedesktop.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=118020" name="attach_118020" title="Log of running Xonotic with R600_DEBUG=llvm,ps,vs. The last shader causes assertion.">attachment 118020</a> <a href="attachment.cgi?id=118020&action=edit" title="Log of running Xonotic with R600_DEBUG=llvm,ps,vs. The last shader causes assertion.">[details]</a></span>
Log of running Xonotic with R600_DEBUG=llvm,ps,vs. The last shader causes
assertion.

This bug happen with wide variety of games. I managed to reproduce it with the
free Xonotic v0.8.1. The exact command is
`R600_DEBUG=llvm,ps,vs ./xonotic-linux32-glx`.
(Then start the first single player map. Crash happens at first in-game frame.)

The error I get is:
---
xonotic-linux32-glx: Instructions.cpp:1499:
llvm::InsertElementInst::InsertElementInst(llvm::Value *, llvm::Value *,
llvm::Value *, const llvm::Twine &, llvm::Instruction *): Assertion
`isValidOperands(Vec, Elt, Index) && "Invalid insertelement instruction
operands!"' failed.
---

I've obtained that error by compiling debug versions of LLVM 3.6.2 and current
git of Mesa. Unfortunately the backtrace doesn't produce any relevant info.

I'm reporting the bug here, because the error happens during the phase where
TGSI code is translated into the intrinsics that LLVM understand. I do not see
llvm intrinsics code for the last TGSI shader, so I cannot reproduce the crash
with `llc`. I think it is quite likely that the problem is caused by some LLVM
API change, that have not been reflected in Mesa.

I know that R600 LLVM is not under active development. However at the moment
that code is crashing on regular basis. Mesa should be able to work with any
recent LLVM release and 3.6.2 is the latest current release. If you do not
intend to maintain it, then you might consider removing it.

I would prefer the bug(s) to be fixed. Nine exposes quite a number of SB bugs
and having other options is always good for testing.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>