-
Notifications
You must be signed in to change notification settings - Fork 18
OpcodeConversion
hyqneuron edited this page Mar 22, 2015
·
1 revision
Note: round brackets, instead of square brackets, are used to represent an optional component. This is to avoid confusion with memory operands which are surrounded by square brackets.
Also, immea and composite operand may be mentioned in the parts below. Please visit these two links for more information regarding their meaning.
Instruction usage:
F2I(.FTZ)(.dtype)(.stype)(.rnd) reg0, (-)composite operand;
Template opcode
0010 000100 1110 000000 010010 0000000000000000000000 0000000000 101000
mod reg0 mod2 immea mod3
| mod 1 | meaning |
|---|---|
| 0 | default |
| 1 | -composite operand |
| mod 2 | .dtype |
|---|---|
| 0 | .Uxx |
| 1 | .Sxx |
| mod 3 | meaning |
|---|---|
| 0 | default |
| 1 |
| mod2 1:2 | .stype |
|---|---|
| 10 | .F16 |
| 01 | default(.F32) |
| 11 | .F64 |
| mod2 4:5 | .dtype |
|---|---|
| 10 | .x16 |
| 01 | .x32 |
| 11 | .x64 |
| mod3 2 | meaning |
|---|---|
| 0 | default |
| 1 | .FTZ |
| mod3 7:8 | .rnd |
|---|---|
| 10 | .FLOOR |
| 01 | .CEIL |
| 11 | .TRUNC |
Instruciton usage:
F2F(.FTZ).dtype.stype(.rop)(.SAT) reg0, (-/|)composite operand(|);
Template opcode
0010 000000 1110 000000 010010 0000000000000000000000 0000000000 001000
mod reg0 mod2 immea mod3
| mod 1 | meaning |
|---|---|
| 0 | default |
| 1 | -composte operand |
mod 2 is effective only when both dtype and stype are F32
| mod 2 | meaning |
|---|---|
| 0 | .PASS |
| 1 | .ROUND |
| mod 3 | meaning |
|---|---|
| 0 | default |
| 1 |
| mod 4 | meaning |
|---|---|
| 0 | default |
| 1 | .SAT |
| mod 5 | meaning |
|---|---|
| 0 | default |
| 1 | .S |
| mod2 1:2 | .stype |
|---|---|
| 10 | .F16 |
| 01 | .F32 |
| 11 | .F64 |
| mod2 4:5 | .dtype |
|---|---|
| 00 | default |
| 10 | .F16 |
| 01 | .F32 |
| 11 | .F64 |
| mod3 2 | meaning |
|---|---|
| 0 | default |
| 1 | .FTZ |
| mod3 7:8 | .rnd |
|---|---|
| 00 | default |
| 10 | .RM |
| 01 | .RP |
| 11 | .RZ |
Instruction usage:
I2F(.dtype)(.stype)(.rnd) reg0, composite operand;
Template opcode
0010 000001 1110 000000 010010 0000000000000000000000 0000000000 011000
mod reg0 mod2 immea mod3
| mod 0 | .stype |
|---|---|
| 0 | .Uxx |
| 1 | .Sxx |
| mod 1 | meaning |
|---|---|
| 0 | default |
| 1 | -composite operand |
| mod 3 | meaning |
|---|---|
| 0 | default |
| 1 |
| mod2 1:2 | .stype |
|---|---|
| 10 | .x16 |
| 01 | .x32(default) |
| 11 | .x64 |
| mod2 4:5 | .dtype |
|---|---|
| 10 | .F16 |
| 01 | default(.F32) |
| 11 | .F64 |
| mod3 7:8 | .rnd |
|---|---|
| 10 | .RM |
| 01 | .RP |
| 11 | .RZ |
Instruction usage:
I2I.dtype.stype(.SAT) reg0, (-/|)composite operand(|);
Template opcode
0010 000000 1110 000000 010010 0000000000000000000000 0000000000 111000
mod reg0 mod2 immea mod3
| mod 0 | .stype |
|---|---|
| 0 | .Uxx |
| 1 | .Sxx |
| mod 1 | meaning |
|---|---|
| 0 | default |
| 1 | -composite operand |
| mod 2 | .dtype |
|---|---|
| 0 | .Uxx |
| 1 | .Sxx |
| mod 3 | meaning |
|---|---|
| 0 | default |
| 1 |
| mod 4 | meaning |
|---|---|
| 0 | default |
| 1 | .SAT |
| mod2 1:2 | .stype |
|---|---|
| 00 | .X8 |
| 10 | .X16 |
| 01 | .X32 |
| 11 | .X64 |
| mod2 4:5 | .dtype |
|---|---|
| 00 | .X8 |
| 10 | .X16 |
| 01 | .X32 |
| 11 | .X64 |
| mod3 1:2 | meaning |
|---|---|
| 00 | default |
| 10 | .B1 on composite operand |
| 01 | .B2 on composite operand |
| 11 | .B3 on composite operand |
| mod3 9 | meaning |
|---|---|
| 0 | default |
| 1 | .CC on reg0 |
- Overview
- Using asfermi
- Development Related
- Fermi ISA
- Microbenchmarks
- BM_Background
- Test Sets