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");
}