Support host-ppc32...

git-svn-id: svn://svn.valgrind.org/vex/trunk@838 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/main/vex_main.c b/priv/main/vex_main.c
index 01567a0..9c1d9b2 100644
--- a/priv/main/vex_main.c
+++ b/priv/main/vex_main.c
@@ -47,6 +47,7 @@
 
 #include "host-x86/hdefs.h"
 #include "host-amd64/hdefs.h"
+#include "host-ppc32/hdefs.h"
 
 #include "guest-x86/gdefs.h"
 #include "guest-amd64/gdefs.h"
@@ -283,6 +284,24 @@
          vassert(subarch_host == VexSubArch_NONE);
          break;
 
+      case VexArchPPC32:
+         getAllocableRegs_PPC32 ( &n_available_real_regs,
+                                  &available_real_regs );
+         isMove      = (Bool(*)(HInstr*,HReg*,HReg*)) isMove_PPC32Instr;
+         getRegUsage = (void(*)(HRegUsage*,HInstr*)) getRegUsage_PPC32Instr;
+         mapRegs     = (void(*)(HRegRemap*,HInstr*)) mapRegs_PPC32Instr;
+         genSpill    = (HInstr*(*)(HReg,Int)) genSpill_PPC32;
+         genReload   = (HInstr*(*)(HReg,Int)) genReload_PPC32;
+         ppInstr     = (void(*)(HInstr*)) ppPPC32Instr;
+         ppReg       = (void(*)(HReg)) ppHRegPPC32;
+         iselBB      = iselBB_PPC32;
+         emit        = (Int(*)(UChar*,Int,HInstr*)) emit_PPC32Instr;
+         host_is_bigendian = True;
+         host_word_type    = Ity_I32;
+         vassert(subarch_guest == VexSubArchPPC32_noAV
+                 || subarch_guest == VexSubArchPPC32_AV);
+         break;
+
       default:
          vpanic("LibVEX_Translate: unsupported target insn set");
    }