Difference between revisions of "Instruction Set/loadf"
(Created page with "{{DISPLAYTITLE:loadf}} <div style="font-size:80%;line-height:90%;margin-bottom:2em">realizing flow stream Decode|flow bloc...") | |||
(3 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
</div> | </div> | ||
− | load from memory | + | Schedule binary float data load from memory address into belt. |
+ | |||
+ | There is an internal and a storage format for binary float values. Because of this there are special operations needed for loading and storing them to convert between the formats. Other than that these operations work like a normal [[Instruction_Set/load|load]]. | ||
+ | |||
+ | <b>related operations:</b> , [[Instruction_Set/load|load]], [[Instruction_Set/loadd|loadd]], [[Instruction_Set/store|store]] | ||
+ | |||
---- | ---- | ||
<code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Sources#base|base]]</span> <span title="base special register">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <span style="color:#009">[[Domains#s|s]]</span> <span title="belt operand from opsWindow">i</span>, <i><span style="color:#009">[[Immediates#scale|scale]]</span> <span title="scale factor | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Sources#base|base]]</span> <span title="base special register">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <span style="color:#009">[[Domains#s|s]]</span> <span title="belt operand from opsWindow">i</span>, <i><span style="color:#009">[[Immediates#scale|scale]]</span> <span title="scale factor | ||
Line 15: | Line 20: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 31: | Line 36: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
---- | ---- | ||
<code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Sources#base|base]]</span> <span title="base special register">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <span style="color:#009">[[Domains#s|s]]</span> <span title="belt operand from opsWindow">i</span>, <i><span style="color:#009">[[Immediates#scale|scale]]</span> <span title="scale factor | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Sources#base|base]]</span> <span title="base special register">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <span style="color:#009">[[Domains#s|s]]</span> <span title="belt operand from opsWindow">i</span>, <i><span style="color:#009">[[Immediates#scale|scale]]</span> <span title="scale factor | ||
− | for indexes in load/store/lea">s</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, | + | for indexes in load/store/lea">s</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <span style="color:#009">[[Sources#tag|tag]]</span> <span title="name for a speculative |
− | load (in load)">tag</span | + | load (in load)">tag</span>) → [[Domains#f|f]] r<sub>0</sub></code> |
<div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | <div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | ||
</div> | </div> | ||
Line 47: | Line 52: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 61: | Line 66: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 75: | Line 80: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
---- | ---- | ||
− | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Sources#base|base]]</span> <span title="base special register">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, | + | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Sources#base|base]]</span> <span title="base special register">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <span style="color:#009">[[Sources#tag|tag]]</span> <span title="name for a |
− | speculative load (in load)">tag</span | + | speculative load (in load)">tag</span>) → [[Domains#f|f]] r<sub>0</sub></code> |
<div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | <div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | ||
</div> | </div> | ||
Line 90: | Line 95: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 105: | Line 110: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 121: | Line 126: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
---- | ---- | ||
<code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="belt operand from opsWindow">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <span style="color:#009">[[Domains#s|s]]</span> <span title="belt operand from opsWindow">i</span>, <i><span style="color:#009">[[Immediates#scale|scale]]</span> <span title="scale | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="belt operand from opsWindow">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <span style="color:#009">[[Domains#s|s]]</span> <span title="belt operand from opsWindow">i</span>, <i><span style="color:#009">[[Immediates#scale|scale]]</span> <span title="scale | ||
− | factor for indexes in load/store/lea">s</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, | + | factor for indexes in load/store/lea">s</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <span style="color:#009">[[Sources#tag|tag]]</span> <span title="name for a |
− | speculative load (in load)">tag</span | + | speculative load (in load)">tag</span>) → [[Domains#f|f]] r<sub>0</sub></code> |
<div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | <div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | ||
</div> | </div> | ||
Line 137: | Line 142: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 151: | Line 156: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 165: | Line 170: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
---- | ---- | ||
− | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="belt operand from opsWindow">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, | + | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="belt operand from opsWindow">b</span>, <i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">o</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <span style="color:#009">[[Sources#tag|tag]]</span> <span title="name |
− | for a speculative load (in load)">tag</span | + | for a speculative load (in load)">tag</span>) → [[Domains#f|f]] r<sub>0</sub></code> |
<div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | <div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | ||
</div> | </div> | ||
Line 180: | Line 185: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 195: | Line 200: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
Line 210: | Line 215: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
---- | ---- | ||
<code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="belt operand from opsWindow">b</span>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#memAttr|memAttr]]</span> <span title="special load/store | <code style="font-size:130%"><b style="color:#050">loadf</b>(<span style="color:#009">[[Domains#p|p]]</span> <span title="belt operand from opsWindow">b</span>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#memAttr|memAttr]]</span> <span title="special load/store | ||
− | behaviors">m</span></i>, | + | behaviors">m</span></i>, <span style="color:#009">[[Sources#tag|tag]]</span> <span title="name for a speculative load (in load)">tag</span>) → [[Domains#f|f]] r<sub>0</sub></code> |
<div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | <div style="font-size:80%;line-height:90%;margin-bottom:2em">'''operands:''' [[Operands#likeIdentityNoSIMD|like IdentityNoSIMD xx:x]] | ||
</div> | </div> | ||
Line 225: | Line 230: | ||
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]] | ||
|- | |- | ||
− | | [[Cores/Silver/Encoding# | + | | [[Cores/Silver/Encoding#loadf|Silver]] || F0 F1 F2 F3 || 3 |
|- | |- | ||
− | | [[Cores/Gold/Encoding# | + | | [[Cores/Gold/Encoding#loadf|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 3 |
|} | |} | ||
+ | |||
+ | |||
+ | [[Instruction_Set|Instruction Set, alphabetical]], [[Instruction Set by Category]], [http://millcomputing.com/instructions.html?collapse=7#ops Instruction Set, sortable, filterable] |
Latest revision as of 23:28, 20 January 2015
Schedule binary float data load from memory address into belt.
There is an internal and a storage format for binary float values. Because of this there are special operations needed for loading and storing them to convert between the formats. Other than that these operations work like a normal load.
related operations: , load, loadd, store
loadf(base b, off o, s i, scale s, width w) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(base b, off o, s i, scale s, width w, lit delay) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(base b, off o, s i, scale s, width w, tag tag) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(base b, off o, width w) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(base b, off o, width w, lit delay) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(base b, off o, width w, tag tag) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, off o, s i, scale s, width w) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, off o, s i, scale s, width w, lit delay) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, off o, s i, scale s, width w, tag tag) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, off o, width w) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, off o, width w, lit delay) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, off o, width w, tag tag) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, width w, memAttr m) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, width w, memAttr m, lit delay) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
loadf(p b, width w, memAttr m, tag tag) → f r0
Core | In Slots | Latencies |
---|---|---|
Silver | F0 F1 F2 F3 | 3 |
Gold | F0 F1 F2 F3 F4 F5 F6 F7 | 3 |
Instruction Set, alphabetical, Instruction Set by Category, Instruction Set, sortable, filterable