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