Overview Features Coding Performance Forum Downloads Products OrderV4 Contact

Welcome to the Apollo Forum

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

All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

Coding 64bit Instructions

Gunnar von Boehn
(Apollo Team Member)
Posts 5421
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