[llvm-bugs] [Bug 24499] New: inline assembler causes an assertion

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Aug 19 08:45:29 PDT 2015


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

            Bug ID: 24499
           Summary: inline assembler causes an assertion
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: andrey.kuleshov at intel.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 14745
  --> https://llvm.org/bugs/attachment.cgi?id=14745&action=edit
Assertion log

=============SMALL REPRODUCER==================
void test4()
{
    int t0 = 15;
    int r0, r1;
    __asm ("mov %2, %%eax\n\t"
           "add %%eax, %%eax\n\t"
           "mov %%eax, %2\n\t"
           "mov $42, %0"
           : "=a" (r0), "=m" (r1)
           : "1" (t0), "1" (t0));
}

==============================================

Clang fails with an assertion, seems that llvm::InlineAsm is guilty in this
case. The problem is 'illegal type for constraints'
 gcc in this case fails with:
     error: inconsistent operand constraints in an ‘asm’

Assertion log is attached.


----------------
Intel Software Engineer
Andrey Kuleshov

-- 
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/20150819/3ba8275d/attachment.html>


More information about the llvm-bugs mailing list