mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 05:19:56 +00:00
Update submodules, add x64Emitter bugfix from Dolphin (plus a few new instrs), misc
This commit is contained in:
parent
59b1027f3e
commit
604abe933e
@ -78,10 +78,10 @@ enum NormalSSEOps
|
||||
sseMOVAPtoRM = 0x29, //MOVAP to RM
|
||||
sseMOVUPfromRM = 0x10, //MOVUP from RM
|
||||
sseMOVUPtoRM = 0x11, //MOVUP to RM
|
||||
sseMOVLPDfromRM= 0x12,
|
||||
sseMOVLPDtoRM = 0x13,
|
||||
sseMOVHPDfromRM= 0x16,
|
||||
sseMOVHPDtoRM = 0x17,
|
||||
sseMOVLPfromRM= 0x12,
|
||||
sseMOVLPtoRM = 0x13,
|
||||
sseMOVHPfromRM= 0x16,
|
||||
sseMOVHPtoRM = 0x17,
|
||||
sseMOVHLPS = 0x12,
|
||||
sseMOVLHPS = 0x16,
|
||||
sseMOVDQfromRM = 0x6F,
|
||||
@ -1594,10 +1594,15 @@ void XEmitter::MOVSD(X64Reg regOp, OpArg arg) {WriteSSEOp(0xF2, sseMOVUPfromRM
|
||||
void XEmitter::MOVSS(OpArg arg, X64Reg regOp) {WriteSSEOp(0xF3, sseMOVUPtoRM, regOp, arg);}
|
||||
void XEmitter::MOVSD(OpArg arg, X64Reg regOp) {WriteSSEOp(0xF2, sseMOVUPtoRM, regOp, arg);}
|
||||
|
||||
void XEmitter::MOVLPD(X64Reg regOp, OpArg arg) {WriteSSEOp(0xF2, sseMOVLPDfromRM, regOp, arg);}
|
||||
void XEmitter::MOVHPD(X64Reg regOp, OpArg arg) {WriteSSEOp(0xF2, sseMOVHPDfromRM, regOp, arg);}
|
||||
void XEmitter::MOVLPD(OpArg arg, X64Reg regOp) {WriteSSEOp(0xF2, sseMOVLPDtoRM, regOp, arg);}
|
||||
void XEmitter::MOVHPD(OpArg arg, X64Reg regOp) {WriteSSEOp(0xF2, sseMOVHPDtoRM, regOp, arg);}
|
||||
void XEmitter::MOVLPS(X64Reg regOp, OpArg arg) { WriteSSEOp(0x00, sseMOVLPfromRM, regOp, arg); }
|
||||
void XEmitter::MOVLPD(X64Reg regOp, OpArg arg) { WriteSSEOp(0x66, sseMOVLPfromRM, regOp, arg); }
|
||||
void XEmitter::MOVLPS(OpArg arg, X64Reg regOp) { WriteSSEOp(0x00, sseMOVLPtoRM, regOp, arg); }
|
||||
void XEmitter::MOVLPD(OpArg arg, X64Reg regOp) { WriteSSEOp(0x66, sseMOVLPtoRM, regOp, arg); }
|
||||
|
||||
void XEmitter::MOVHPS(X64Reg regOp, OpArg arg) { WriteSSEOp(0x00, sseMOVHPfromRM, regOp, arg); }
|
||||
void XEmitter::MOVHPD(X64Reg regOp, OpArg arg) { WriteSSEOp(0x66, sseMOVHPfromRM, regOp, arg); }
|
||||
void XEmitter::MOVHPS(OpArg arg, X64Reg regOp) { WriteSSEOp(0x00, sseMOVHPtoRM, regOp, arg); }
|
||||
void XEmitter::MOVHPD(OpArg arg, X64Reg regOp) { WriteSSEOp(0x66, sseMOVHPtoRM, regOp, arg); }
|
||||
|
||||
void XEmitter::MOVHLPS(X64Reg regOp1, X64Reg regOp2) {WriteSSEOp(0x00, sseMOVHLPS, regOp1, R(regOp2));}
|
||||
void XEmitter::MOVLHPS(X64Reg regOp1, X64Reg regOp2) {WriteSSEOp(0x00, sseMOVLHPS, regOp1, R(regOp2));}
|
||||
|
@ -695,9 +695,14 @@ public:
|
||||
void MOVSS(OpArg arg, X64Reg regOp);
|
||||
void MOVSD(OpArg arg, X64Reg regOp);
|
||||
|
||||
void MOVLPS(X64Reg regOp, OpArg arg);
|
||||
void MOVLPD(X64Reg regOp, OpArg arg);
|
||||
void MOVHPD(X64Reg regOp, OpArg arg);
|
||||
void MOVLPS(OpArg arg, X64Reg regOp);
|
||||
void MOVLPD(OpArg arg, X64Reg regOp);
|
||||
|
||||
void MOVHPS(X64Reg regOp, OpArg arg);
|
||||
void MOVHPD(X64Reg regOp, OpArg arg);
|
||||
void MOVHPS(OpArg arg, X64Reg regOp);
|
||||
void MOVHPD(OpArg arg, X64Reg regOp);
|
||||
|
||||
void MOVHLPS(X64Reg regOp1, X64Reg regOp2);
|
||||
|
@ -107,6 +107,8 @@ static int Replace_memcpy() {
|
||||
u32 srcPtr = PARAM(1);
|
||||
u32 bytes = PARAM(2);
|
||||
bool skip = false;
|
||||
if (!bytes)
|
||||
return 10;
|
||||
|
||||
// Some games use memcpy on executable code. We need to flush emuhack ops.
|
||||
currentMIPS->InvalidateICache(srcPtr, bytes);
|
||||
|
@ -129,6 +129,7 @@ void LogScreen::UpdateLog() {
|
||||
case LogTypes::LERROR: color = 0x5050FF; break;
|
||||
case LogTypes::LNOTICE: color = 0x30FF30; break;
|
||||
case LogTypes::LINFO: color = 0xFFFFFF; break;
|
||||
case LogTypes::LVERBOSE: color = 0xC0C0C0; break;
|
||||
}
|
||||
v->SetTextColor(0xFF000000 | color);
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit fd701763b1b4683e8a9ba65134253b036c58529c
|
||||
Subproject commit d26848405462266cf8ce73b2ab0ada816dff55c1
|
2
lang
2
lang
@ -1 +1 @@
|
||||
Subproject commit 10eb75f66fee97cba935dbca73a17e3e37f42f79
|
||||
Subproject commit b8119544ea79accfad49741ccdd9288a79610202
|
Loading…
Reference in New Issue
Block a user