Skip to content

Last traced instruction is the 31st branch instruction #225

@Muhammad-Saadi-Abbasi

Description

@Muhammad-Saadi-Abbasi

What is the correct encoder behavior when the last traced instruction is the 31st branch instruction?

The spec states:

If tracing stops for any reason, the address of the final traced instruction must be output.

The address needs to be emitted along with the direction of 31 branches, but Format 1 with an address packet can only have branches = 31 when:

The instruction immediately prior to the final branch causes an uninferable discontinuity, in which case branches is set to 31.

I believe that when the encoder emits a Format 1 packet without an address, it implicitly reports the address of the 31st branch. However, this contradicts the spec statement that the address of the final traced instruction must be explicitly output.

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