Viewing file: nds32_fpu_inst.h (2.45 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0 */ /* Copyright (C) 2005-2018 Andes Technology Corporation */
#ifndef __NDS32_FPU_INST_H #define __NDS32_FPU_INST_H
#define cop0_op 0x35
/* * COP0 field of opcodes. */ #define fs1_op 0x0 #define fs2_op 0x4 #define fd1_op 0x8 #define fd2_op 0xc
/* * FS1 opcode. */ enum fs1 { fadds_op, fsubs_op, fcpynss_op, fcpyss_op, fmadds_op, fmsubs_op, fcmovns_op, fcmovzs_op, fnmadds_op, fnmsubs_op, fmuls_op = 0xc, fdivs_op, fs1_f2op_op = 0xf };
/* * FS1/F2OP opcode. */ enum fs1_f2 { fs2d_op, fsqrts_op, fui2s_op = 0x8, fsi2s_op = 0xc, fs2ui_op = 0x10, fs2ui_z_op = 0x14, fs2si_op = 0x18, fs2si_z_op = 0x1c };
/* * FS2 opcode. */ enum fs2 { fcmpeqs_op, fcmpeqs_e_op, fcmplts_op, fcmplts_e_op, fcmples_op, fcmples_e_op, fcmpuns_op, fcmpuns_e_op };
/* * FD1 opcode. */ enum fd1 { faddd_op, fsubd_op, fcpynsd_op, fcpysd_op, fmaddd_op, fmsubd_op, fcmovnd_op, fcmovzd_op, fnmaddd_op, fnmsubd_op, fmuld_op = 0xc, fdivd_op, fd1_f2op_op = 0xf };
/* * FD1/F2OP opcode. */ enum fd1_f2 { fd2s_op, fsqrtd_op, fui2d_op = 0x8, fsi2d_op = 0xc, fd2ui_op = 0x10, fd2ui_z_op = 0x14, fd2si_op = 0x18, fd2si_z_op = 0x1c };
/* * FD2 opcode. */ enum fd2 { fcmpeqd_op, fcmpeqd_e_op, fcmpltd_op, fcmpltd_e_op, fcmpled_op, fcmpled_e_op, fcmpund_op, fcmpund_e_op };
#define NDS32Insn(x) x
#define I_OPCODE_off 25 #define NDS32Insn_OPCODE(x) (NDS32Insn(x) >> I_OPCODE_off)
#define I_OPCODE_offRt 20 #define I_OPCODE_mskRt (0x1fUL << I_OPCODE_offRt) #define NDS32Insn_OPCODE_Rt(x) \ ((NDS32Insn(x) & I_OPCODE_mskRt) >> I_OPCODE_offRt)
#define I_OPCODE_offRa 15 #define I_OPCODE_mskRa (0x1fUL << I_OPCODE_offRa) #define NDS32Insn_OPCODE_Ra(x) \ ((NDS32Insn(x) & I_OPCODE_mskRa) >> I_OPCODE_offRa)
#define I_OPCODE_offRb 10 #define I_OPCODE_mskRb (0x1fUL << I_OPCODE_offRb) #define NDS32Insn_OPCODE_Rb(x) \ ((NDS32Insn(x) & I_OPCODE_mskRb) >> I_OPCODE_offRb)
#define I_OPCODE_offbit1014 10 #define I_OPCODE_mskbit1014 (0x1fUL << I_OPCODE_offbit1014) #define NDS32Insn_OPCODE_BIT1014(x) \ ((NDS32Insn(x) & I_OPCODE_mskbit1014) >> I_OPCODE_offbit1014)
#define I_OPCODE_offbit69 6 #define I_OPCODE_mskbit69 (0xfUL << I_OPCODE_offbit69) #define NDS32Insn_OPCODE_BIT69(x) \ ((NDS32Insn(x) & I_OPCODE_mskbit69) >> I_OPCODE_offbit69)
#define I_OPCODE_offCOP0 0 #define I_OPCODE_mskCOP0 (0x3fUL << I_OPCODE_offCOP0) #define NDS32Insn_OPCODE_COP0(x) \ ((NDS32Insn(x) & I_OPCODE_mskCOP0) >> I_OPCODE_offCOP0)
#endif /* __NDS32_FPU_INST_H */
|