Skip to content

why new instruction for a subset of FENCE.I #16

@jnk0le

Description

@jnk0le

about id-consistency-proposal.pdf v0.9.1

Default (conservative) behaviour of FENCE.I is to flush the pipeline, all uncoherent instruction caches and anything else related.
fence.i also didn't allocate whole 22.125 bits of opcode just to waste it.

IMPORT.I - is just an isb like pipeline flush that is already subset of fence.i. Why can't we use those 12bits of imm to somehow encode fence.ipipe instruction? In this way it degrades to regular fence.i on "legacy" cores.

There is also an likely need for fence.ipipe instruction for different purposes than importing new instructions, so fence.ipipe and import.i probably should be encoded with a different bit pattern as the latter might not need to perform whole pipeline flush.

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