<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 - llvm.addcarry is incorrectly lowered"
   href="https://bugs.llvm.org/show_bug.cgi?id=33229">33229</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>llvm.addcarry is incorrectly lowered
          </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>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Common Code Generator Code
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>davide@freebsd.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>deadalnix@gmail.com, filcab@gmail.com, llvm-bugs@lists.llvm.org, llvm-dev@redking.me.uk, simon.f.whittaker@gmail.com, warren_ristow@playstation.sony.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Based on a report from Warren Ristow:

target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define i32 @tinkywinky() {
entry:
  %0 = tail call i8 @llvm.x86.addcarry.u64(i8 0, i64 0, i64 0, i8* null)
  ret i32 0
}

declare i8 @llvm.x86.addcarry.u64(i8, i64, i64, i8*)


$ ./llc carry.ll
Value type is non-standard value, Other.
UNREACHABLE executed at ../include/llvm/CodeGen/MachineValueType.h:623!
#0 0x0000000001dbc95a llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(./llc+0x1dbc95a)
#1 0x0000000001dba74e llvm::sys::RunSignalHandlers() (./llc+0x1dba74e)
#2 0x0000000001dba89c SignalHandler(int) (./llc+0x1dba89c)
#3 0x00007f2f9be1ec30 __restore_rt (/lib64/libpthread.so.0+0x10c30)
#4 0x00007f2f9a98a765 __GI_raise (/lib64/libc.so.6+0x34765)
#5 0x00007f2f9a98c36a __GI_abort (/lib64/libc.so.6+0x3636a)
#6 0x0000000001d606aa (./llc+0x1d606aa)
#7 0x0000000000813ce8 llvm::MVT::getSizeInBits() const (./llc+0x813ce8)
#8 0x0000000001c61615 llvm::SelectionDAG::getConstant(unsigned long,
llvm::SDLoc const&, llvm::EVT, bool, bool) (./llc+0x1c61615)
#9 0x000000000120f858 llvm::X86TargetLowering::PerformDAGCombine(llvm::SDNode*,
llvm::TargetLowering::DAGCombinerInfo&) const (./llc+0x120f858)
#10 0x0000000001ba7d69 (anonymous
namespace)::DAGCombiner::combine(llvm::SDNode*) (./llc+0x1ba7d69)
#11 0x0000000001ba9560 (anonymous
namespace)::DAGCombiner::Run(llvm::CombineLevel) (./llc+0x1ba9560)
#12 0x0000000001bab9ac llvm::SelectionDAG::Combine(llvm::CombineLevel,
llvm::AAResults*, llvm::CodeGenOpt::Level) (./llc+0x1bab9ac)
#13 0x0000000001c7f1aa llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(./llc+0x1c7f1aa)
#14 0x0000000001c89821
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
(./llc+0x1c89821)
#15 0x0000000001c8b810
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) [clone
.part.805] (./llc+0x1c8b810)
#16 0x000000000115f624 (anonymous
namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(./llc+0x115f624)
#17 0x00000000015b3705
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (./llc+0x15b3705)
#18 0x000000000189e073 llvm::FPPassManager::runOnFunction(llvm::Function&)
(./llc+0x189e073)
#19 0x000000000189e134 llvm::FPPassManager::runOnModule(llvm::Module&)
(./llc+0x189e134)
#20 0x000000000189eda1 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(./llc+0x189eda1)
#21 0x00000000007ce8b5 compileModule(char**, llvm::LLVMContext&)
(./llc+0x7ce8b5)
#22 0x000000000075fd58 main (./llc+0x75fd58)
#23 0x00007f2f9a976731 __libc_start_main (/lib64/libc.so.6+0x20731)
#24 0x00000000007c20e9 _start (./llc+0x7c20e9)
Stack dump:
0.      Program arguments: ./llc carry.ll
1.      Running pass 'Function Pass Manager' on module 'carry.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function
'@tinkywinky'</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>