Skip to content

Latest commit

 

History

History
46 lines (37 loc) · 1.26 KB

sync_is.adoc

File metadata and controls

46 lines (37 loc) · 1.26 KB

th.sync.is

Synopsis

Ensures that all preceding instructions retire earlier than this instruction and all subsequent instructions retire later than this instruction and clears the pipeline when this instruction retires on all harts.

Mnemonic

th.sync.is

Encoding
{reg:[
    { bits:  7, name: 0xb, attr: ['custom-0, 32 bit'] },
    { bits:  5, name: 0x0 },
    { bits:  3, name: 0x0, attr: ['CMO'] },
    { bits:  5, name: 0x0 },
    { bits:  5, name: 0x1B, attr: ['SYNC.IS'] },
    { bits:  7, name: 0x00 },
]}
Description

This instruction ensures that all preceding instructions retire earlier than this instruction and all subsequent instructions retire later than this instruction. When this instruction retires the hart’s pipeline will be cleared. The instruction is executing on all harts via broadcasting.

Operation
msg := encode_out_of_order_barrier()
msg += encode_pipeline_flush()
broadcast_to_all_harts(msg)
Permission

This instruction can be executed in all privilege levels.

Exceptions

This instruction does not trigger any exceptions.

Included in
Extension

XTheadSync ([xtheasync])