<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 - "Part type doesn't match vector breakdown!" assertion when mixing SIMD and MIPS"
   href="https://bugs.llvm.org/show_bug.cgi?id=33883">33883</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>"Part type doesn't match vector breakdown!" assertion when mixing SIMD and MIPS
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>5.0
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </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: MIPS
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>alex@crichton.co
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>In trying to upgrade rust-lang/rust to LLVM 5.0 we've discovered that one of
our tests is failing, namely this IR:


; ModuleID = 'simd.cgu-0.rs'
source_filename = "simd.cgu-0.rs"
target datalayout = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
target triple = "mips-unknown-linux-gnu"

; simd::foo
; Function Attrs: uwtable
define <4 x float> @_ZN4simd3foo17hebb969c5fb39a194E(<4 x float>) unnamed_addr
#0 {
start:
  %1 = call <4 x float> @llvm.sqrt.v4f32(<4 x float> %0)
  br label %bb1

bb1:                                              ; preds = %start
  ret <4 x float> %1
}

; simd::bar
; Function Attrs: uwtable
define <4 x i32> @_ZN4simd3bar17hdc8ee07458cf8c7bE(<4 x i32>, <4 x i32>)
unnamed_addr #0 {
start:
  %2 = call <4 x i32> @integer(<4 x i32> %0, <4 x i32> %1)
  br label %bb1

bb1:                                              ; preds = %start
  ret <4 x i32> %2
}

; Function Attrs: nounwind readnone speculatable
declare <4 x float> @llvm.sqrt.v4f32(<4 x float>) unnamed_addr #1

; Function Attrs: nounwind
declare <4 x i32> @integer(<4 x i32>, <4 x i32>) unnamed_addr #2

attributes #0 = { uwtable }
attributes #1 = { nounwind readnone speculatable }
attributes #2 = { nounwind }




when compiled with `llc -filetype=obj -mtriple=mips-unknown-linux-gnu foo.ll`
will fail with 

llc:
/home/alex/code/rust3/src/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:616:
void getCopyToPartsVector(llvm::SelectionDAG&, const llvm::SDLoc&,
llvm::SDValue, llvm::SDValue*, unsigned int, llvm::MVT, const llvm::Value*,
bool): Assertion `RegisterVT == PartVT && "Part type doesn't match vector
breakdown!"' failed.

and this stack trace:
<a href="https://gist.github.com/alexcrichton/4697cc30fdb94c56a480e1d2c2952479">https://gist.github.com/alexcrichton/4697cc30fdb94c56a480e1d2c2952479</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>