Skip to content

CBE handling of inline asm immediate operand broken #1626

@llvmbot

Description

@llvmbot
Bugzilla Link 1254
Resolution DUPLICATE
Resolved on Mar 06, 2010 13:59
Version trunk
OS MacOS X
Reporter LLVM Bugzilla Contributor

Extended Description

define void @​test4(i16 %S) {
call i16 asm "rolw $$8, ${0:w}", "=r,0,{dirflag},{fpsr},~{flags}"(
i16 %S )
ret void
}

CBE produces:

void test4(unsigned short llvm_cbe_S) {
unsigned short ltmp_0_1;

asm volatile ("rolw %%8, %w0"
:"=r"(ltmp_0_1)
:"0"(llvm_cbe_S));
return;
}

gcc compiles inline asm statement to:
rolw %8, %ax

It should have been rolw $8, %ax.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilladuplicateResolved as duplicate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions