* cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
authorDoug Evans <dje@google.com>
Thu, 19 Aug 1999 05:45:30 +0000 (05:45 +0000)
committerDoug Evans <dje@google.com>
Thu, 19 Aug 1999 05:45:30 +0000 (05:45 +0000)
include/opcode/ChangeLog
include/opcode/cgen.h

index cfb2389161133fd804e12423a573bf222dde5c3e..41c3eead68bb71ffa9f20b85f289feff98672232 100644 (file)
@@ -1,3 +1,7 @@
+Wed Aug 18 18:14:40 1999  Doug Evans  <devans@canuck.cygnus.com>
+
+       * cgen.h (CGEN_INSN_MACH_HAS_P): New macro.
+
 Fri Aug  6 09:46:35 1999  Jerry Quinn <jquinn@nortelnetworks.com>
 
        * hppa.h (pa_opcodes): Add 64 bit versions of or, xor, and,
index 84542a37ce1dda679933d498a9a9e6de5a6cabf7..2a5fd0da833b6caa8c196a25e55d47324333f0e7 100644 (file)
@@ -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)
 \f
 /* Macro instructions.
    Macro insns aren't real insns, they map to one or more real insns.