ppc/svp64: support SVP64 vectors
[binutils-gdb.git] / gas / config / tc-ppc.h
index de9522d4bf628433084f171615f56d5446d62bbb..383f71f2189e7a3205d17ee1312ee7a0f92a4060 100644 (file)
@@ -322,9 +322,12 @@ extern void ppc_frob_label (symbolS *);
 /* call md_pcrel_from_section, not md_pcrel_from */
 #define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section(FIX, SEC)
 
+#define md_operand(EXP) ppc_operand (EXP)
+extern void (*ppc_operand) (expressionS *exp);
+
 #define md_parse_name(name, exp, mode, c) \
-  (ppc_parse_name (name, exp, mode), true)
-extern void ppc_parse_name (const char *, struct expressionS *, enum expr_mode);
+  ((*ppc_parse_name) (name, exp, mode), true)
+extern void (*ppc_parse_name) (const char *, struct expressionS *, enum expr_mode);
 
 #define md_optimize_expr(left, op, right) ppc_optimize_expr (left, op, right)
 extern int ppc_optimize_expr (expressionS *, operatorT, expressionS *);
@@ -359,6 +362,15 @@ extern void ppc_cfi_frame_initial_instructions (void);
 #define tc_regname_to_dw2regnum tc_ppc_regname_to_dw2regnum
 extern int tc_ppc_regname_to_dw2regnum (char *);
 
+/*
+ * A hint that the operand refers to a vector, like *%r102 or *%f.15.
+ * Such operand is converted to a usual O_register after it's remapped.
+ */
+#define O_vector O_md1
+
+extern bool ppc_resolve_symbol (symbolS *sym, valueT *val, segT *seg);
+#define md_resolve_symbol ppc_resolve_symbol
+
 extern int ppc_cie_data_alignment;
 
 extern int ppc_dwarf2_line_min_insn_length;