Skip to content

Cannot handle multiple ASM constraints #1487

@isanbard

Description

@isanbard
Bugzilla Link 1115
Resolution DUPLICATE
Resolved on Feb 22, 2010 12:41
Version trunk
OS MacOS X

Extended Description

This program:

unsigned long int foo(unsigned long int in1, unsigned long int in2)
{
unsigned long int result;

asm("{a%I5|add%I5c} %0,%1,%2"
: "=&r"(result)
: "r"(in1), "rI"(in2));
return result;
}

Gives this ICE:

$ llvm-gcc.install/bin/gcc -c bad.c
bad.c: In function 'foo':
bad.c:5: error: operand number out of range
/Users/wendling/llvm/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:2459: failed assertion
`Constraints[i].Codes.size() == 1 && "Only handles one code so far!"'
bad.c: At top level:
bad.c:9: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://llvm.org/bugs for instructions.

This is more fall-out from the GMP compilation.

-bw

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions