[llvm-dev] InstAlias with tied operands - can it be supported?

via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 14 18:12:48 PST 2017


Hello,

InstAlias does not allow tied operands (repeated operands) in the asm 
string to be matched.

It seems this situation is explicitly prevented in 
AsmMatcherEmitter.cpp:

    if  (!Hack)
         PrintFatalError(TheDef->getLoc(),
                         "ERROR: matchable with tied operand '" + Tok +
                         "' can never be matched!");
       // FIXME: Should reject these.  The ARM backend hits this with 
$lane in a
       // bunch of instructions.  It is unclear what the right answer is.
   …

Is there a way to fix this limitation?

I would like to express: InstAlias<(opcode $rd, $rd, $rs1), (newopcode 
$rd, $rs1)>

Thank you,
Ana.


-- 
Ana Pazos
Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.


More information about the llvm-dev mailing list