Difference between revisions of "Instruction Set/extract"

From Mill Computing Wiki
Jump to: navigation, search
(Created page with "{{DISPLAYTITLE:extract}} <div style="font-size:80%;line-height:90%;margin-bottom:2em">realizing  exu stream Decode|exu bloc...")
 
Line 4:Line 4:
 
</div>
 
</div>
  
extract a scalar element from a vector
+
Extract a vector element to a scalar value operand.
 +
 
 +
<b>related operations:</b> [[Instruction_Set/alternate|alternate]], [[Instruction_Set/shuffle|shuffle]], [[Instruction_Set/vec|vec]], [[Instruction_Set/inject|inject]]
 +
 
 
----
 
----
 
<code style="font-size:130%"><b style="color:#050">extract</b>(<span style="color:#009">[[Domains#op|op]]</span> <span title="belt operand from ops window">v</span>, <span style="color:#009">[[Domains#i|i]]</span> <span title="belt operand from ops window">i</span>) &#8594; [[Domains#op|op]] r<sub>0</sub></code>
 
<code style="font-size:130%"><b style="color:#050">extract</b>(<span style="color:#009">[[Domains#op|op]]</span> <span title="belt operand from ops window">v</span>, <span style="color:#009">[[Domains#i|i]]</span> <span title="belt operand from ops window">i</span>) &#8594; [[Domains#op|op]] r<sub>0</sub></code>
Line 14:Line 17:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#283|Tin]] || E0 || 1
+
| [[Cores/Tin/Encoding#extract|Tin]] || E0 || 1
 
|-
 
|-
| [[Cores/Copper/Encoding#283|Copper]] || E0 E1 || 1
+
| [[Cores/Copper/Encoding#extract|Copper]] || E0 E1 || 1
 
|-
 
|-
| [[Cores/Silver/Encoding#283|Silver]] || E0 E1 E2 E3 || 1
+
| [[Cores/Silver/Encoding#extract|Silver]] || E0 E1 E2 E3 || 1
 
|-
 
|-
| [[Cores/Gold/Encoding#283|Gold]] || E0 E1 E2 E3 E4 E5 E6 E7 || 1
+
| [[Cores/Gold/Encoding#extract|Gold]] || E0 E1 E2 E3 E4 E5 E6 E7 || 1
 
|-
 
|-
| [[Cores/Decimal8/Encoding#283|Decimal8]] || E0 E1 E2 E3 || 1
+
| [[Cores/Decimal8/Encoding#extract|Decimal8]] || E0 E1 E2 E3 || 1
 
|-
 
|-
| [[Cores/Decimal16/Encoding#283|Decimal16]] || E0 E1 E2 E3 || 1
+
| [[Cores/Decimal16/Encoding#extract|Decimal16]] || E0 E1 E2 E3 || 1
 
|}
 
|}
  
Line 36:Line 39:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#284|Tin]] || E0 || 1
+
| [[Cores/Tin/Encoding#extract|Tin]] || E0 || 1
 
|-
 
|-
| [[Cores/Copper/Encoding#284|Copper]] || E0 E1 || 1
+
| [[Cores/Copper/Encoding#extract|Copper]] || E0 E1 || 1
 
|-
 
|-
| [[Cores/Silver/Encoding#284|Silver]] || E0 E1 E2 E3 || 1
+
| [[Cores/Silver/Encoding#extract|Silver]] || E0 E1 E2 E3 || 1
 
|-
 
|-
| [[Cores/Gold/Encoding#284|Gold]] || E0 E1 E2 E3 E4 E5 E6 E7 || 1
+
| [[Cores/Gold/Encoding#extract|Gold]] || E0 E1 E2 E3 E4 E5 E6 E7 || 1
 
|-
 
|-
| [[Cores/Decimal8/Encoding#284|Decimal8]] || E0 E1 E2 E3 || 1
+
| [[Cores/Decimal8/Encoding#extract|Decimal8]] || E0 E1 E2 E3 || 1
 
|-
 
|-
| [[Cores/Decimal16/Encoding#284|Decimal16]] || E0 E1 E2 E3 || 1
+
| [[Cores/Decimal16/Encoding#extract|Decimal16]] || E0 E1 E2 E3 || 1
 
|}
 
|}
 +
 +
 +
[[Instruction_Set|Instruction Set, alphabetical]], [[Instruction Set by Category]], [http://millcomputing.com/instructions.html?collapse=7#ops Instruction Set, sortable, filterable]

Revision as of 02:38, 16 December 2014

realizing  exu stream  exu block  compute phase   operation  

native on: all

Extract a vector element to a scalar value operand.

related operations: alternate, shuffle, vec, inject


extract(op v, i i) → op r0

operands: like Extractx Xx:x


Core In Slots Latencies
Tin E0 1
Copper E0 E1 1
Silver E0 E1 E2 E3 1
Gold E0 E1 E2 E3 E4 E5 E6 E7 1
Decimal8 E0 E1 E2 E3 1
Decimal16 E0 E1 E2 E3 1

extract(op v, imm i) → op r0

operands: like Extract XX:x


Core In Slots Latencies
Tin E0 1
Copper E0 E1 1
Silver E0 E1 E2 E3 1
Gold E0 E1 E2 E3 E4 E5 E6 E7 1
Decimal8 E0 E1 E2 E3 1
Decimal16 E0 E1 E2 E3 1


Instruction Set, alphabetical, Instruction Set by Category, Instruction Set, sortable, filterable