| Index: src/ppc/constants-ppc.h | 
| diff --git a/src/ppc/constants-ppc.h b/src/ppc/constants-ppc.h | 
| index 393f039e270b6ad71b7f91ac24e5840d14a0d9c7..1079723881f0b44056434cc4b093fd2205820727 100644 | 
| --- a/src/ppc/constants-ppc.h | 
| +++ b/src/ppc/constants-ppc.h | 
| @@ -145,6 +145,7 @@ enum Opcode { | 
| STFDU = 55 << 26,    // Store Floating-Point Double with Update | 
| LD = 58 << 26,       // Load Double Word | 
| EXT3 = 59 << 26,     // Extended code set 3 | 
| +  EXT6 = 60 << 26,     // Extended code set 6 | 
| STD = 62 << 26,      // Store Double Word (optionally with Update) | 
| EXT4 = 63 << 26      // Extended code set 4 | 
| }; | 
| @@ -314,10 +315,37 @@ enum OpcodeExt5 { | 
| RLDCR = 9 << 1   // Rotate Left Double Word then Clear Right | 
| }; | 
|  | 
| +// Bits 10-3 | 
| +#define XX3_OPCODE_LIST(V)                                   \ | 
| +  V(xsaddsp, XSADDSP, 0 << 3)   /* VSX Scalar Add SP */      \ | 
| +  V(xssubsp, XSSUBSP, 8 << 3)   /* VSX Scalar Subtract SP */ \ | 
| +  V(xsmulsp, XSMULSP, 16 << 3)  /* VSX Scalar Multiply SP */ \ | 
| +  V(xsdivsp, XSDIVSP, 24 << 3)  /* VSX Scalar Divide SP */   \ | 
| +  V(xsadddp, XSADDDP, 32 << 3)  /* VSX Scalar Add DP */      \ | 
| +  V(xssubdp, XSSUBDP, 40 << 3)  /* VSX Scalar Subtract DP */ \ | 
| +  V(xsmuldp, XSMULDP, 48 << 3)  /* VSX Scalar Multiply DP */ \ | 
| +  V(xsdivdp, XSDIVDP, 56 << 3)  /* VSX Scalar Divide DP */   \ | 
| +  V(xsmaxdp, XSMAXDP, 160 << 3) /* VSX Scalar Maximum DP */  \ | 
| +  V(xsmindp, XSMINDP, 168 << 3) /* VSX Scalar Minimum DP */ | 
| + | 
| +// Bits 10-2 | 
| +#define XX2_OPCODE_LIST(V)                                          \ | 
| +  V(XSCVDPSP, XSCVDPSP, 265 << 2) /* VSX Scalar Convert DP to SP */ \ | 
| +  V(XSCVSPDP, XSCVSPDP, 329 << 2) /* VSX Scalar Convert SP to DP */ | 
| + | 
| +enum OpcodeExt6 { | 
| +#define DECLARE_OPCODES(name, opcode_name, opcode_value) \ | 
| +  opcode_name = opcode_value, | 
| +  XX3_OPCODE_LIST(DECLARE_OPCODES) XX2_OPCODE_LIST(DECLARE_OPCODES) | 
| +#undef DECLARE_OPCODES | 
| +}; | 
| + | 
| // Instruction encoding bits and masks. | 
| enum { | 
| // Instruction encoding bit | 
| B1 = 1 << 1, | 
| +  B2 = 1 << 2, | 
| +  B3 = 1 << 3, | 
| B4 = 1 << 4, | 
| B5 = 1 << 5, | 
| B7 = 1 << 7, | 
|  |