Scalar Operation
SC_RR
| 31-26 | 25-21 | 20-16 | 15-11 | 10-6 | 5-0 | |
|---|---|---|---|---|---|---|
| SC_RR | 100000 | rs | rt | rd | 0 0000 | funct |
SC_RR rd,rs,rt,funct- GRF[rd] ← funct(GRF[rs], GRF[rt]),
functrefers to the scalar operation type.
Example:
SC_RR $3,$1,$2,ADDSC_RI
| 31-26 | 25-21 | 20-16 | 15-11 | 10-0 | |
|---|---|---|---|---|---|
| SC_RI | 100100 | rs | rd | funct | imm |
SC_RI rd,rs,imm,funct- GRF[rd] ← funct(GRF[rs], imm),
functrefers to the scalar operation type.
Example:
SC_RI $3,$1,1024,ADDISC_LD
| 31-26 | 25-21 | 20-16 | 15-0 | |
|---|---|---|---|---|
| SC_LD | 101000 | rs | rd | imm |
SC_LD rd,rs,imm- GRF[rd] ← MEM[GRF[rs] + imm],
MEMrepresents the local memory unit.
Example:
SC_LD $2,$1,1024SC_ST
| 31-26 | 25-21 | 20-16 | 15-0 | |
|---|---|---|---|---|
| SC_ST | 101001 | rs | rd | imm |
SC_ST rs,rt,imm- MEM[GRF[rs] + imm] ← GRF[rt]
Example:
SC_ST $1,$2,1024G_LI
| 31-26 | 25-21 | 20-0 | |
|---|---|---|---|
| G_LI | 101100 | rd | imm |
G_LI rd, immGRF[rd] ← imm
Example:
G_LI $1,1024S_LI
| 31-26 | 25-21 | 20-0 | |
|---|---|---|---|
| S_LI | 101101 | rd | imm |
S_LI rd,imm- SRF[rd] ← imm
Example:
S_LI $1,1024GS_MOV
| 31-26 | 25-21 | 20-16 | 15-0 | |
|---|---|---|---|---|
| GS_MOV | 101110 | rs | rd | 0000 0000 0000 0000 |
GS_MOV rd,rs- SRF[rd] ← GRF[rs]
Example:
GS_MOV $1,$2SG_MOV
| 31-26 | 25-21 | 20-16 | 15-0 | |
|---|---|---|---|---|
| SG_MOV | 101111 | rs | rd | 0000 0000 0000 0000 |
SG_MOV rd,rs- GRF[rd] ← SRF[rs]
Example:
SG_MOV $1,$2