<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </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 --- - AArch64: Assertion failed: (isSimple() && "Expected a SimpleValueType!"), function getSimpleVT"
   href="http://llvm.org/bugs/show_bug.cgi?id=20791">20791</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>AArch64: Assertion failed: (isSimple() && "Expected a SimpleValueType!"), function getSimpleVT
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>trunk
          </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>normal
          </td>
        </tr>

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

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

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

        <tr>
          <th>Reporter</th>
          <td>grosbach@apple.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-ios5.0.0"

define void @autogen_SD7918() {
BB:
  br label %CF78

CF78:                                             ; preds = %CF78, %BB
  br i1 undef, label %CF78, label %CF

CF:                                               ; preds = %CF, %CF78
  %I29 = insertelement <1 x i1> zeroinitializer, i1 false, i32 0
  %ZE = zext <1 x i1> %I29 to <1 x i32>
  br i1 undef, label %CF, label %CF76

CF76:                                             ; preds = %CF76, %CF
  %B37 = sdiv <1 x i32> %ZE, %ZE
  br label %CF76
}

$ llc -o - -mtriple=arm64-apple-darwin test-7918.ll 
    .section    __TEXT,__text,regular,pure_instructions
Assertion failed: (isSimple() && "Expected a SimpleValueType!"), function
getSimpleVT, file
/Users/grosbaj/sources/llvm/include/llvm/CodeGen/ValueTypes.h, line 205.
0  llc                      0x000000010b0937be
llvm::sys::PrintStackTrace(__sFILE*) + 46
1  llc                      0x000000010b093acb
PrintStackTraceSignalHandler(void*) + 27
2  llc                      0x000000010b093e8c SignalHandler(int) + 460
3  libsystem_platform.dylib 0x00007fff882fef1a _sigtramp + 26
4  llc                      0x000000010ba3da9e guard variable for
llvm::BitcodeErrorCategory()::O + 69646
5  llc                      0x000000010b093afb raise + 27
6  llc                      0x000000010b093bb2 abort + 18
7  llc                      0x000000010b093b91 __assert_rtn + 129
8  llc                      0x000000010af96f7d llvm::EVT::getSimpleVT() const +
109
9  llc                      0x0000000109a2ad24
performExtendCombine(llvm::SDNode*, llvm::TargetLowering::DAGCombinerInfo&,
llvm::SelectionDAG&) + 676
10 llc                      0x0000000109a288d9
llvm::AArch64TargetLowering::PerformDAGCombine(llvm::SDNode*,
llvm::TargetLowering::DAGCombinerInfo&) const + 761
11 llc                      0x000000010ad0d189 (anonymous
namespace)::DAGCombiner::combine(llvm::SDNode*) + 345
12 llc                      0x000000010ad0c84d (anonymous
namespace)::DAGCombiner::Run(llvm::CombineLevel) + 1197
13 llc                      0x000000010ad0c328
llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AliasAnalysis&,
llvm::CodeGenOpt::Level) + 104
...


The custom lowering for the extend is assuming that if the destination type is
a simple type, then so is the source type. That's obviously not true, as the
testcase demonstrates.</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>