Difference between revisions of "SGX543"
Jump to navigation
Jump to search
Line 292: | Line 292: | ||
! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | ! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 | ||
|- | |- | ||
− | | colspan="5" style="text-align: center;" | opcode1 || colspan="3" style="text-align:center;" | | + | | colspan="5" style="text-align: center;" | opcode1 || colspan="3" style="text-align:center;" | predicate |
|- | |- | ||
− | | 0 || 0 || 0 || 1 || 1 || | + | | 0 || 0 || 0 || 1 || 1 || || || |
|} | |} | ||
|| | || |
Revision as of 01:17, 9 February 2018
Instruction set
It looks like instructions are 8 bytes long. Roughly speaking - first 4 bytes contain opcode and addressing mode. Second 4 bytes contain operands encoding.
Bit encoding used in this reference.
value | meaning |
---|---|
0 | bit clear |
1 | bit set |
x | dont care |
? | unknown |
0x00000000 - 0x08000000
Instructions: mad
Encoding:
|
|
|
|
Fields:
data_format:
|
predicate:
|
Examples:
mad.f32
p0 mad.f32
!p0 mad.f32
Pn mad.f32
mad.f16
p0 mad.f16
!p0 mad.f16
Pn mad.f16
0x08000000 - 0x10000000
Instructions: mul.f32
Encoding:
|
|
|
|
Fields:
predicate:
2 | 1 | 0 | value |
---|---|---|---|
0 | 0 | 0 | |
0 | 0 | 1 | p0 |
0 | 1 | 0 | p1 |
0 | 1 | 1 | p2 |
1 | 0 | 0 | !p0 |
1 | 0 | 1 | !p1 |
1 | 1 | 0 | !p2 |
1 | 1 | 1 | Pn |
Examples:
mul.f32
p0 mul.f32
p1 mul.f32
p2 mul.f32
!p0 mul.f32
!p1 mul.f32
!p2 mul.f32
Pn mul.f32
0x10000000 - 0x18000000
Instructions: mul.f16
Encoding:
|
|
|
|
Fields:
predicate:
2 | 1 | 0 | value |
---|---|---|---|
0 | 0 | 0 | |
0 | 0 | 1 | p0 |
0 | 1 | 0 | p1 |
0 | 1 | 1 | p2 |
1 | 0 | 0 | !p0 |
1 | 0 | 1 | !p1 |
1 | 1 | 0 | !p2 |
1 | 1 | 1 | Pn |
Examples:
mul.f16
p0 mul.f16
p1 mul.f16
p2 mul.f16
!p0 mul.f16
!p1 mul.f16
!p2 mul.f16
Pn mul.f16
0x18000000 - 0x20000000
Instructions: dot.f32, mad.f32
Encoding:
|
|
|
|
Examples:
dot.f32
p0 dot.f32
p1 dot.f32
p2 dot.f32
!p0 dot.f32
!p1 dot.f32
!p2 dot.f32
Pn dot.f32
mad.f32
p0 mad.f32
p1 mad.f32
p2 mad.f32
!p0 mad.f32
!p1 mad.f32
!p2 mad.f32
Pn mad.f32
0x20000000 - 0x28000000
|
|
|
|
0x28000000 - 0x30000000
|
|
|
|
0x30000000 - 0x38000000
|
|
|
|
0x38000000 - 0x40000000
|
|
|
|
0x40000000 - 0x48000000
|
|
|
|
0x48000000 - 0x50000000
|
|
|
|
0x50000000 - 0x58000000
|
|
|
|
0x58000000 - 0x60000000
|
|
|
|
0x60000000 - 0x68000000
|
|
|
|
0x68000000 - 0x70000000
|
|
|
|
0x70000000 - 0x78000000
|
|
|
|
0x78000000 - 0x80000000
|
|
|
|
0x80000000 - 0x88000000
|
|
|
|
0x88000000 - 0x90000000
|
|
|
|
0x90000000 - 0x98000000
|
|
|
|
0x98000000 - 0xA0000000
|
|
|
|
0xA0000000 - 0xA8000000
|
|
|
|
0xA8000000 - 0xB0000000
|
|
|
|
0xB0000000 - 0xB8000000
|
|
|
|
0xB8000000 - 0xC0000000
|
|
|
|
0xC0000000 - 0xC8000000
|
|
|
|
0xC8000000 - 0xD0000000
|
|
|
|
0xD0000000 - 0xD8000000
|
|
|
|
0xD8000000 - 0xE0000000
|
|
|
|
0xE0000000 - 0xE8000000
|
|
|
|
0xE8000000 - 0xF0000000
|
|
|
|
0xF0000000 - 0xF8000000
|
|
|
|
0xF8000000 - 0xFF000000
|
|
|
|