@@ -264,6 +264,7 @@ class Assembler : public AbstractAssembler {
264
264
SUBFME_OPCODE = (31u << OPCODE_SHIFT | 232u << 1 ),
265
265
SUBFZE_OPCODE = (31u << OPCODE_SHIFT | 200u << 1 ),
266
266
DIVW_OPCODE = (31u << OPCODE_SHIFT | 491u << 1 ),
267
+ DIVWU_OPCODE = (31u << OPCODE_SHIFT | 459u << 1 ),
267
268
MULLW_OPCODE = (31u << OPCODE_SHIFT | 235u << 1 ),
268
269
MULHW_OPCODE = (31u << OPCODE_SHIFT | 75u << 1 ),
269
270
MULHWU_OPCODE = (31u << OPCODE_SHIFT | 11u << 1 ),
@@ -524,10 +525,13 @@ class Assembler : public AbstractAssembler {
524
525
525
526
// Vector-Scalar (VSX) instruction support.
526
527
LXV_OPCODE = (61u << OPCODE_SHIFT | 1u ),
528
+ LXVL_OPCODE = (31u << OPCODE_SHIFT | 269u << 1 ),
527
529
STXV_OPCODE = (61u << OPCODE_SHIFT | 5u ),
530
+ STXVL_OPCODE = (31u << OPCODE_SHIFT | 397u << 1 ),
528
531
LXVD2X_OPCODE = (31u << OPCODE_SHIFT | 844u << 1 ),
529
532
STXVD2X_OPCODE = (31u << OPCODE_SHIFT | 972u << 1 ),
530
533
MTVSRD_OPCODE = (31u << OPCODE_SHIFT | 179u << 1 ),
534
+ MTVSRDD_OPCODE = (31u << OPCODE_SHIFT | 435u << 1 ),
531
535
MTVSRWZ_OPCODE = (31u << OPCODE_SHIFT | 243u << 1 ),
532
536
MFVSRD_OPCODE = (31u << OPCODE_SHIFT | 51u << 1 ),
533
537
MTVSRWA_OPCODE = (31u << OPCODE_SHIFT | 211u << 1 ),
@@ -1343,6 +1347,8 @@ class Assembler : public AbstractAssembler {
1343
1347
inline void divd_ ( Register d, Register a, Register b);
1344
1348
inline void divw ( Register d, Register a, Register b);
1345
1349
inline void divw_ ( Register d, Register a, Register b);
1350
+ inline void divwu ( Register d, Register a, Register b);
1351
+ inline void divwu_ ( Register d, Register a, Register b);
1346
1352
1347
1353
// Fixed-Point Arithmetic Instructions with Overflow detection
1348
1354
inline void addo ( Register d, Register a, Register b);
@@ -2263,6 +2269,8 @@ class Assembler : public AbstractAssembler {
2263
2269
// Vector-Scalar (VSX) instructions.
2264
2270
inline void lxv ( VectorSRegister d, int si16, Register a);
2265
2271
inline void stxv ( VectorSRegister d, int si16, Register a);
2272
+ inline void lxvl ( VectorSRegister d, Register a, Register b);
2273
+ inline void stxvl ( VectorSRegister d, Register a, Register b);
2266
2274
inline void lxvd2x ( VectorSRegister d, Register a);
2267
2275
inline void lxvd2x ( VectorSRegister d, Register a, Register b);
2268
2276
inline void stxvd2x ( VectorSRegister d, Register a);
@@ -2277,6 +2285,7 @@ class Assembler : public AbstractAssembler {
2277
2285
inline void xxmrglw ( VectorSRegister d, VectorSRegister a, VectorSRegister b);
2278
2286
inline void mtvsrd ( VectorSRegister d, Register a);
2279
2287
inline void mfvsrd ( Register d, VectorSRegister a);
2288
+ inline void mtvsrdd ( VectorSRegister d, Register a, Register b);
2280
2289
inline void mtvsrwz ( VectorSRegister d, Register a);
2281
2290
inline void mfvsrwz ( Register d, VectorSRegister a);
2282
2291
inline void xxspltw ( VectorSRegister d, VectorSRegister b, int ui2);
0 commit comments