TPU v4 BCS 指令索引

目录

TPU v4 BCS 指令索引#

登记 112 个非 Noop 槽内形式(S0 57 个、S1 55 个),共 66 种非 Noop operation;空槽用省略该槽或空 bundle 表示。这里的覆盖是编码与解码覆盖,不是设备执行覆盖。

使用 .target tpu-v4-bcs 和 { s0: mnemonic operands ; s1: mnemonic operands }。表中 s[0..31]、u32 等是类型说明,不能照抄为源码。谓词前缀使用 @p0..@p14 或 @!p0..@!p14。目的字段的硬件位宽不证明全部编号都可用。

ScalarY 数字按 32-bit 位型编码;内置 selector 写作 sy.NAME,名称来自当前 descriptor,不将其自动改写为推测的常量值。浮点 ALU 的立即数也使用位型。smov 同时接受寄存器与数值;ssub.s32 / ssub.f32 的源顺序是 Y、X,其余二源 ALU 是 X、Y。完整规则见 BCS 使用与互操作。

DMA 使用具名字段;所有列出的字段均须给出,顺序可变。目标端的 outfeed queue 与 memory/core ID 共享物理位,必须一致。字段枚举只选择编码;地址域、allocation、completion 和生命周期由 runtime 管理。

s0#

助记符

操作数

dma.general

source_address=(s[0..31]), length=(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80), dest_address=(s[0..31]), stride_descriptor=(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80), stride_count=(u2), source_sync_flag=(s[0..31]), dest_sync_flag=(s[0..31]), ici_dest=(s[0..31]), source_memory_id=(vmem / smem / imem / vimem), source_core_id=(reserved_self / non_core / tensor_core_0 / tensor_core_1 / barna_core_0 / barna_core_1 / barna_core_2 / barna_core_3), src_opcode=(read / instruction_memset / data_memset), dma_type_0=(local / chip2host), destination_memory_id=(vmem / smem / imem / vimem), destination_core_id=(reserved_self / non_core / tensor_core_0 / tensor_core_1 / barna_core_0 / barna_core_1 / barna_core_2 / barna_core_3), outfeed_queue_id=(u5), destination_opcode=(write / write_special_0 / write_special_1), trace=(u1)

dma.simple

source_address=(s[0..31]), length=(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80), dest_address=(s[0..31]), dest_sync_flag=(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80), source_memory_id=(vmem / smem / imem / vimem), source_core_id=(reserved_self / non_core / tensor_core_0 / tensor_core_1 / barna_core_0 / barna_core_1 / barna_core_2 / barna_core_3), src_opcode=(read / instruction_memset / data_memset), dma_type_0=(local / chip2host), destination_memory_id=(vmem / smem / imem / vimem), destination_core_id=(reserved_self / non_core / tensor_core_0 / tensor_core_1 / barna_core_0 / barna_core_1 / barna_core_2 / barna_core_3), outfeed_queue_id=(u5), destination_opcode=(write / write_special_0 / write_special_1), trace=(u1)

dma.strided

source_address=(s[0..31]), length=(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80), dest_address=(s[0..31]), dest_sync_flag=(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80), source_stride=(s[0..31]), dest_stride=(s[0..31]), elements_per_stride=(s[0..31]), source_memory_id=(vmem / smem / imem / vimem), source_core_id=(reserved_self / non_core / tensor_core_0 / tensor_core_1 / barna_core_0 / barna_core_1 / barna_core_2 / barna_core_3), src_opcode=(read / instruction_memset / data_memset), dma_type_0=(local / chip2host), destination_memory_id=(vmem / smem / imem / vimem), destination_core_id=(reserved_self / non_core / tensor_core_0 / tensor_core_1 / barna_core_0 / barna_core_1 / barna_core_2 / barna_core_3), outfeed_queue_id=(u5), destination_opcode=(write / write_special_0 / write_special_1), trace=(u1)

interrupt

无操作数

issue.fsm

dma_request / remote_scalar_write / global_scatter_ids / local_gather / sparse_reduce / global_scatter_gradients / local_scatter_gradients / allocate_remote_buffer, s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

por

p[0..31], p[0..14] / !p[0..14] / 1 / 0, p[0..14] / !p[0..14] / 1 / 0

sadd.carry

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sadd.s32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sand.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sbr.abs

label / u16

sbr.reg

s[0..31]

sbr.rel

label / i16

scall.abs

s[0..31], label / u16

scall.reg

s[0..31], s[0..31]

scall.rel

s[0..31], label / i16

sclz

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.eq.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.eq.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ge.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ge.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.gt.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.gt.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.le.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.le.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.lt.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.lt.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ne.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ne.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sdelay

u11

sfence

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sftoi

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

shalt

无操作数

sisinf_or_nan

p[0..31], s[0..31]

sitofp

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

smax.f32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

smin.f32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

smov

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

smul.f32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

smul.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sor.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

spop.hmf

s[0..31]

srdreg

s[0..31], lcc0 / lcc1 / gtc0 / gtc1 / tag_register / tracemark_register / fsr / hdr

ssettag

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

ssettracemark

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sshll.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sshra.s32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sshrl.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

ssub.s32

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80, s[0..31]

ssyncadd.s32

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80, s[0..31]

swait.done

s[0..31]

swait.eq

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.ge

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.gt

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.lt

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.ne

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sxor.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

trace

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

s1#

助记符

操作数

interrupt

无操作数

issue.fsm

dma_request / remote_scalar_write / global_scatter_ids / local_gather / sparse_reduce / global_scatter_gradients / local_scatter_gradients / allocate_remote_buffer, s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

por

p[0..31], p[0..14] / !p[0..14] / 1 / 0, p[0..14] / !p[0..14] / 1 / 0

sadd.carry

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sadd.f32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sadd.s32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sand.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sclz

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.eq.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.eq.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ge.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ge.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.gt.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.gt.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.le.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.le.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.lt.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.lt.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ne.f32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

scmp.ne.s32

p[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sdelay

u11

sdone.read

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sdone.write

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80, s[0..31]

sfence

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sftoi

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

shalt

无操作数

sisinf_or_nan

p[0..31], s[0..31]

sitofp

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sld

s[0..31], [smem:(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80)]

sld.offset

s[0..31], [smem:(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80)], s[0..31]

smax.f32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

smin.f32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

smov

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sor.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

spop.hmf

s[0..31]

spublic.read

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

spublic.write

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80, s[0..31]

srdreg

s[0..31], lcc0 / lcc1 / gtc0 / gtc1 / tag_register / tracemark_register / fsr / hdr

ssettag

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

ssettracemark

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sshll.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sshra.s32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sshrl.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sst

[smem:(s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80)], s[0..31]

ssub.f32

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80, s[0..31]

ssub.s32

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80, s[0..31]

ssyncadd.s32

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80, s[0..31]

swait.done

s[0..31]

swait.eq

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.ge

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.gt

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.lt

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

swait.ne

s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

sxor.u32

s[0..31], s[0..31], s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80

trace

s[0..31] / u32 / sy.hex_100 / sy.negative_one / sy.zero / sy.one / sy.two / sy.three / sy.four / sy.five / sy.six / sy.seven / sy.eight / sy.hex_10 / sy.hex_18 / sy.hex_20 / sy.hex_30 / sy.hex_40 / sy.hex_60 / sy.hex_80