In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
1,002 bytes added ,  20:26, 10 August 2010
Added descriptions to most of the instructions.
Line 89: Line 89:  
Simple everyday math.
 
Simple everyday math.
 
=== ps_add ===
 
=== ps_add ===
 +
Single floating-point add on both ps0 and ps1.
 
  ps_add    frD, frA, frB
 
  ps_add    frD, frA, frB
   Line 94: Line 95:  
  frD(ps1) = frA(ps1) + frB(ps1)
 
  frD(ps1) = frA(ps1) + frB(ps1)
   −
=== ps_div ===
+
=== ps_sub ===
  ps_div     frD, frA, frB
+
Single floating-point subtract on both ps0 and ps1.
 +
  ps_sub     frD, frA, frB
   −
  frD(ps0) = frA(ps0) / frB(ps0)
+
  frD(ps0) = frA(ps0) - frB(ps0)
  frD(ps1) = frA(ps1) / frB(ps1)
+
  frD(ps1) = frA(ps1) - frB(ps1)
    
=== ps_mul ===
 
=== ps_mul ===
 +
Single floating-point multiply on both ps0 and ps1.
 
  ps_mul    frD, frA, frC
 
  ps_mul    frD, frA, frC
   Line 106: Line 109:  
  frD(ps1) = frA(ps1) * frC(ps1)
 
  frD(ps1) = frA(ps1) * frC(ps1)
   −
=== ps_sub ===
+
=== ps_div ===
  ps_sub     frD, frA, frB
+
Single floating-point divide on both ps0 and ps1.
 +
  ps_div     frD, frA, frB
   −
  frD(ps0) = frA(ps0) - frB(ps0)
+
  frD(ps0) = frA(ps0) / frB(ps0)
  frD(ps1) = frA(ps1) - frB(ps1)
+
  frD(ps1) = frA(ps1) / frB(ps1)
    
== Comparison ==
 
== Comparison ==
 
=== ps_cmpo0 ===
 
=== ps_cmpo0 ===
 +
Ordered compare of ps0 values.
 
  ps_cmpo0  crfD, frA, frB
 
  ps_cmpo0  crfD, frA, frB
 
  ps_cmpu0  crfD, frA, frB
 
  ps_cmpu0  crfD, frA, frB
Line 120: Line 125:     
=== ps_cmpo1 ===
 
=== ps_cmpo1 ===
 +
Ordered compare of ps1 values.
 
  ps_cmpo1  crfD, frA, frB
 
  ps_cmpo1  crfD, frA, frB
 
  ps_cmpu1  crfD, frA, frB
 
  ps_cmpu1  crfD, frA, frB
Line 128: Line 134:  
These instructions multiply in complex ways
 
These instructions multiply in complex ways
 
=== ps_madd ===
 
=== ps_madd ===
 +
Single floating-point madd on both ps0 and ps1.
 
  ps_madd    frD, frA, frC, frB
 
  ps_madd    frD, frA, frC, frB
   Line 134: Line 141:     
=== ps_madds0 ===
 
=== ps_madds0 ===
 +
Scalar-vector multiply-add using ps0 for scalar.
 
  ps_madds0  frD, frA, frC, frB
 
  ps_madds0  frD, frA, frC, frB
   Line 140: Line 148:     
=== ps_madds1 ===
 
=== ps_madds1 ===
 +
Scalar-vector multiply-add using ps1 for scalar.
 
  ps_madds1  frD, frA, frC, frB
 
  ps_madds1  frD, frA, frC, frB
   Line 146: Line 155:     
=== ps_msub ===
 
=== ps_msub ===
 +
Single floating-point msub on both ps0 and ps1.
 
  ps_msub    frD, frA, frC, frB
 
  ps_msub    frD, frA, frC, frB
   Line 152: Line 162:     
=== ps_muls0 ===
 
=== ps_muls0 ===
 +
Scalar-vector multiply using ps0 for scalar.
 
  ps_muls0  frD, frA, frC
 
  ps_muls0  frD, frA, frC
   Line 158: Line 169:     
=== ps_muls1 ===
 
=== ps_muls1 ===
 +
Scalar-vector multiply using ps0 for scalar.
 
  ps_muls1  frD, frA, frC
 
  ps_muls1  frD, frA, frC
   Line 164: Line 176:     
=== ps_nmadd ===
 
=== ps_nmadd ===
 +
Single floating-point nmadd on both ps0 and ps1.
 
  ps_nmadd  frD, frA, frC, frB
 
  ps_nmadd  frD, frA, frC, frB
   Line 170: Line 183:     
=== ps_nmsub ===
 
=== ps_nmsub ===
 +
Single floating-point nmsub on both ps0 and ps1.
 
  ps_nmsub  frD, frA, frC, frB
 
  ps_nmsub  frD, frA, frC, frB
   Line 176: Line 190:     
== Miscellaneous ==
 
== Miscellaneous ==
Whatever doesn't fit into the other categories
+
Whatever doesn't fit into the other categories.
 
=== ps_merge00 ===
 
=== ps_merge00 ===
 +
Register move allowing swap/merge of ps0 values.
 
  ps_merge00 frD, frA, frB
 
  ps_merge00 frD, frA, frB
   Line 184: Line 199:     
=== ps_merge01 ===
 
=== ps_merge01 ===
 +
Register move allowing swap/merge of ps0 and ps1 values.
 
  ps_merge01 frD, frA, frB
 
  ps_merge01 frD, frA, frB
   Line 190: Line 206:     
=== ps_merge10 ===
 
=== ps_merge10 ===
 +
Register move allowing swap/merge of ps1 and ps0 values.
 
  ps_merge10 frD, frA, frB
 
  ps_merge10 frD, frA, frB
   Line 196: Line 213:     
=== ps_merge11 ===
 
=== ps_merge11 ===
 +
Register move allowing swap/merge of ps0 values.
 
  ps_merge11 frD, frA, frB
 
  ps_merge11 frD, frA, frB
   Line 202: Line 220:     
=== ps_sel ===
 
=== ps_sel ===
 +
Single floating-point select on both ps0 and ps1.
 
  ps_sel    frD, frA, frC, frB
 
  ps_sel    frD, frA, frC, frB
   Line 214: Line 233:     
=== ps_sum0 ===
 
=== ps_sum0 ===
 +
Add a ps0 value to a ps1 value, result in ps0.
 
  ps_sum0    frD, frA, frC, frB
 
  ps_sum0    frD, frA, frC, frB
   Line 220: Line 240:     
=== ps_sum1 ===
 
=== ps_sum1 ===
 +
Add a ps0 value to a ps1 value, result in ps1.
 
  ps_sum1    frD, frA, frC, frB
 
  ps_sum1    frD, frA, frC, frB
  
17

edits

Navigation menu