Skip to content

Better support for multiple replacement partterns inside instruction pattern #347

@dop-amin

Description

@dop-amin

When trying to put multiple replacement patterns of the same type, e.g., <imm>, into an instruction pattern it is required to start the numbering at 0.

Works:

class mul(OTBNInstruction):
    pattern = "mul <Wd>, <Wa>.<imm0>, <Wb>.<imm1>, <imm2>"
    inputs = ["Wa", "Wb"]
    outputs = ["Wd", "FGa"]

Does not work:

class mul(OTBNInstruction):
    pattern = "mul <Wd>, <Wa>.<imm1>, <Wb>.<imm2>, <imm3>"
    inputs = ["Wa", "Wb"]
    outputs = ["Wd", "FGa"]
class mul(OTBNInstruction):
    pattern = "mul <Wd>, <Wa>.<imm>, <Wb>.<imm>, <imm>"
    inputs = ["Wa", "Wb"]
    outputs = ["Wd", "FGa"]

At least this should be documented somewhere.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions