From e8da1bf1bdc46de31ac99966e8f9085792985165 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Thu, 19 Aug 1999 05:45:30 +0000 Subject: * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. --- include/opcode/ChangeLog | 4 ++++ include/opcode/cgen.h | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index cfb23891..41c3eea 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,7 @@ +Wed Aug 18 18:14:40 1999 Doug Evans + + * cgen.h (CGEN_INSN_MACH_HAS_P): New macro. + Fri Aug 6 09:46:35 1999 Jerry Quinn * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and, diff --git a/include/opcode/cgen.h b/include/opcode/cgen.h index 84542a3..2a5fd0d 100644 --- a/include/opcode/cgen.h +++ b/include/opcode/cgen.h @@ -1037,6 +1037,12 @@ extern int cgen_macro_insn_count PARAMS ((CGEN_CPU_DESC)); /* Return value of base part of INSN. */ #define CGEN_INSN_BASE_VALUE(insn) \ CGEN_OPCODE_BASE_VALUE (CGEN_INSN_OPCODE (insn)) + +/* Standard way to test whether INSN is supported by MACH. + MACH is one of enum mach_attr. + The "|1" is because the base mach is always selected. */ +#define CGEN_INSN_MACH_HAS_P(insn, mach) \ +((CGEN_INSN_ATTR_VALUE ((insn), CGEN_INSN_MACH) & ((1 << (mach)) | 1)) != 0) /* Macro instructions. Macro insns aren't real insns, they map to one or more real insns. -- cgit v1.1