Overview Features Instructions Performance Forum Downloads Products Reseller Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.

All TopicsNewsPerformanceGamesDemosApolloVampireCoffinReleasesLogin
Information about the Apollo CPU and FPU.

Coding 64bit Instructions

Gunnar von Boehn
(Apollo Team Member)
Posts 3944
05 Apr 2016 20:18

Here is a quick overview of 64bit instructions.
The instructions are very similar to the SSE/ALTIVEC version of them. Apollo allows to use EA as 1 sources and to update 3rd registers - so normally not overwrite source registers.

  PERM (ea),B,C,D
  BSEL (ea),B,D
  PAND (ea),B,D
  POR (ea),B,D
  PAND (ea),B,D
  PANDN (ea),B,D
  PADD.B (ea),B,D
  PADD.W (ea),B,D
  PADDss.B (ea),B,D
  PADDss.W (ea),B,D
  PADDus.B (ea),B,D
  PADDus.W (ea),B,D
  PSUB.B (ea),B,D
  PSUB.W (ea),B,D
  PSUBss.B (ea),B,D
  PSUBss.W (ea),B,D
  PSUBus.B (ea),B,D
  PSUBus.W (ea),B,D
  PAVG.B (ea),B,D
  PAVG.W (ea),B,D
  PCMPeq.B (ea),B,D
  PCMPeq.W (ea),B,D
  PCMPgt.B (ea),B,D
  PCMPgt.W (ea),B,D
  PMULSH.W (ea),B,D
  PMULSL.W (ea),B,D

(ea) can be any EA
B is one of 16 source Regs
C is one of 16 source Regs
D is one of 16 destination Regs

All the instructions operate on 64bit.

posts 1