Skip to content

*.mir contains one instruction but seems to need another one, llc bug? #42

Description

@matsc-at-sics-se

spi_get_float.mir.zip

uni import -f spi_get_float spi_get_float.mir -o spi_get_float.uni --target=X86 --explicitcallreg --maxblocksize=25 --goal=speed --copyremat --lint
consistentOperands: in operation o17, the inferred width of temporary t13 (8) is inconsistent with corresponding register class (RegisterClass FR64) given in the target description

The culprit operation is:

    o17: [t20] <- VCVTSI2SD64rm [t19,t13,8,t18,-8,_] (mem: 0)

which indeed expects an FR64 operand. Had the code been:

    o17: [t20] <- Int_VCVTSI2SD64rm [t19,t13,8,t18,-8,_] (mem: 0)

then everything would have been fine. Does llc print the wrong instruction?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions