[llvm-bugs] [Bug 33229] New: llvm.addcarry is incorrectly lowered

via llvm-bugs llvm-bugs at lists.llvm.org
Tue May 30 13:38:20 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=33229

            Bug ID: 33229
           Summary: llvm.addcarry is incorrectly lowered
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: davide at freebsd.org
                CC: deadalnix at gmail.com, filcab at gmail.com,
                    llvm-bugs at lists.llvm.org, llvm-dev at redking.me.uk,
                    simon.f.whittaker at gmail.com,
                    warren_ristow at playstation.sony.com

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'

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170530/7056e6bb/attachment.html>


More information about the llvm-bugs mailing list