Merge branch 'remove-intel-dri1'
[mesa.git] / src / gallium / auxiliary / rtasm / rtasm_ppc.h
index afb4704c398839b53fcf0da34c1adc7e894b3853..93e5f5187dea9d3bf4bb02fcab9e4ba302a1abcc 100644 (file)
@@ -1,6 +1,7 @@
 /**************************************************************************
  *
  * Copyright (C) 2008 Tungsten Graphics, Inc.   All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc.  All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -58,6 +59,8 @@ struct ppc_function
    uint32_t reg_used;   /** used/free general-purpose registers bitmask */
    uint32_t fp_used;   /** used/free floating point registers bitmask */
    uint32_t vec_used;   /** used/free vector registers bitmask */
+   int indent;
+   boolean print;
 };
 
 
@@ -68,6 +71,10 @@ extern uint ppc_num_instructions(const struct ppc_function *p);
 extern void (*ppc_get_func( struct ppc_function *p ))( void );
 extern void ppc_dump_func(const struct ppc_function *p);
 
+extern void ppc_print_code(struct ppc_function *p, boolean enable);
+extern void ppc_indent(struct ppc_function *p, int spaces);
+extern void ppc_comment(struct ppc_function *p, int rel_indent, const char *s);
+
 extern int ppc_reserve_register(struct ppc_function *p, int reg);
 extern int ppc_allocate_register(struct ppc_function *p);
 extern void ppc_release_register(struct ppc_function *p, int reg);
@@ -244,6 +251,9 @@ ppc_add(struct ppc_function *p, uint rt, uint ra, uint rb);
 extern void
 ppc_addi(struct ppc_function *p, uint rt, uint ra, int imm);
 
+extern void
+ppc_addis(struct ppc_function *p, uint rt, uint ra, int imm);
+
 extern void
 ppc_and(struct ppc_function *p, uint rt, uint ra, uint rb);
 
@@ -310,6 +320,9 @@ ppc_stfs(struct ppc_function *p, uint frs, uint ra, int offset);
 extern void
 ppc_stfiwx(struct ppc_function *p, uint frs, uint ra, uint rb);
 
+extern void
+ppc_lfs(struct ppc_function *p, uint frt, uint ra, int offset);
+
 
 
 /**