spu-opc.c 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* SPU opcode list
  2. Copyright (C) 2006-2022 Free Software Foundation, Inc.
  3. This file is part of the GNU opcodes library.
  4. This library is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 3, or (at your option)
  7. any later version.
  8. It is distributed in the hope that it will be useful, but WITHOUT
  9. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  10. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  11. License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this file; see the file COPYING. If not, write to the
  14. Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,
  15. MA 02110-1301, USA. */
  16. #include "opcode/spu.h"
  17. /* This file holds the Spu opcode table */
  18. /*
  19. Example contents of spu-insn.h
  20. id_tag mode mode type opcode mnemonic asmtype dependency FPU L/S? branch? instruction
  21. QUAD WORD (0,RC,RB,RA,RT) latency
  22. APUOP(M_LQD, 1, 0, RI9, 0x1f8, "lqd", ASM_RI9IDX, 00012, FXU, 1, 0) Load Quadword d-form
  23. */
  24. const struct spu_opcode spu_opcodes[] = {
  25. #define APUOP(TAG,MACFORMAT,OPCODE,MNEMONIC,ASMFORMAT,DEP,PIPE) \
  26. { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
  27. #define APUOPFB(TAG,MACFORMAT,OPCODE,FB,MNEMONIC,ASMFORMAT,DEP,PIPE) \
  28. { MACFORMAT, OPCODE, MNEMONIC, ASMFORMAT },
  29. #include "opcode/spu-insns.h"
  30. #undef APUOP
  31. #undef APUOPFB
  32. };
  33. const int spu_num_opcodes =
  34. sizeof (spu_opcodes) / sizeof (spu_opcodes[0]);