| Index: src/ppc/assembler-ppc.cc
|
| diff --git a/src/ppc/assembler-ppc.cc b/src/ppc/assembler-ppc.cc
|
| index 32408f3079a16811124017fb4729ad815be10140..645561dbdd67948ecba2f56c23a9ded64a8fe3e8 100644
|
| --- a/src/ppc/assembler-ppc.cc
|
| +++ b/src/ppc/assembler-ppc.cc
|
| @@ -355,7 +355,7 @@ bool Assembler::Is32BitLoadIntoR12(Instr instr1, Instr instr2) {
|
|
|
| bool Assembler::IsCmpRegister(Instr instr) {
|
| return (((instr & kOpcodeMask) == EXT2) &&
|
| - ((instr & kExt2OpcodeMask) == CMP));
|
| + ((EXT2 | (instr & kExt2OpcodeMask)) == CMP));
|
| }
|
|
|
|
|
| @@ -370,7 +370,7 @@ bool Assembler::IsAndi(Instr instr) { return ((instr & kOpcodeMask) == ANDIx); }
|
| #if V8_TARGET_ARCH_PPC64
|
| bool Assembler::IsRldicl(Instr instr) {
|
| return (((instr & kOpcodeMask) == EXT5) &&
|
| - ((instr & kExt5OpcodeMask) == RLDICL));
|
| + ((EXT5 | (instr & kExt5OpcodeMask)) == RLDICL));
|
| }
|
| #endif
|
|
|
| @@ -382,7 +382,7 @@ bool Assembler::IsCmpImmediate(Instr instr) {
|
|
|
| bool Assembler::IsCrSet(Instr instr) {
|
| return (((instr & kOpcodeMask) == EXT1) &&
|
| - ((instr & kExt1OpcodeMask) == CREQV));
|
| + ((EXT1 | (instr & kExt1OpcodeMask)) == CREQV));
|
| }
|
|
|
|
|
| @@ -425,7 +425,7 @@ enum {
|
| int Assembler::target_at(int pos) {
|
| Instr instr = instr_at(pos);
|
| // check which type of branch this is 16 or 26 bit offset
|
| - int opcode = instr & kOpcodeMask;
|
| + uint32_t opcode = instr & kOpcodeMask;
|
| int link;
|
| switch (opcode) {
|
| case BX:
|
| @@ -455,7 +455,7 @@ int Assembler::target_at(int pos) {
|
|
|
| void Assembler::target_at_put(int pos, int target_pos, bool* is_branch) {
|
| Instr instr = instr_at(pos);
|
| - int opcode = instr & kOpcodeMask;
|
| + uint32_t opcode = instr & kOpcodeMask;
|
|
|
| if (is_branch != nullptr) {
|
| *is_branch = (opcode == BX || opcode == BCX);
|
| @@ -535,7 +535,7 @@ void Assembler::target_at_put(int pos, int target_pos, bool* is_branch) {
|
|
|
| int Assembler::max_reach_from(int pos) {
|
| Instr instr = instr_at(pos);
|
| - int opcode = instr & kOpcodeMask;
|
| + uint32_t opcode = instr & kOpcodeMask;
|
|
|
| // check which type of branch this is 16 or 26 bit offset
|
| switch (opcode) {
|
| @@ -646,7 +646,6 @@ void Assembler::x_form(Instr instr, Register ra, Register rs, Register rb,
|
| emit(instr | rs.code() * B21 | ra.code() * B16 | rb.code() * B11 | r);
|
| }
|
|
|
| -
|
| void Assembler::xo_form(Instr instr, Register rt, Register ra, Register rb,
|
| OEBit o, RCBit r) {
|
| emit(instr | rt.code() * B21 | ra.code() * B16 | rb.code() * B11 | o | r);
|
| @@ -2251,13 +2250,13 @@ void Assembler::fcfidu(const DoubleRegister frt, const DoubleRegister frb,
|
|
|
| void Assembler::fcfidus(const DoubleRegister frt, const DoubleRegister frb,
|
| RCBit rc) {
|
| - emit(EXT3 | FCFIDU | frt.code() * B21 | frb.code() * B11 | rc);
|
| + emit(EXT3 | FCFIDUS | frt.code() * B21 | frb.code() * B11 | rc);
|
| }
|
|
|
|
|
| void Assembler::fcfids(const DoubleRegister frt, const DoubleRegister frb,
|
| RCBit rc) {
|
| - emit(EXT3 | FCFID | frt.code() * B21 | frb.code() * B11 | rc);
|
| + emit(EXT3 | FCFIDS | frt.code() * B21 | frb.code() * B11 | rc);
|
| }
|
|
|
|
|
|
|