Stop using reserved operator names (and/or/xor) with Xbyak
Also has the Dynarmic upgrade with the same change
This commit is contained in:
		@@ -321,27 +321,27 @@ void JitShader::Compile_EvaluateCondition(Instruction instr) {
 | 
			
		||||
    case Instruction::FlowControlType::Or:
 | 
			
		||||
        mov(eax, COND0);
 | 
			
		||||
        mov(ebx, COND1);
 | 
			
		||||
        xor(eax, (instr.flow_control.refx.Value() ^ 1));
 | 
			
		||||
        xor(ebx, (instr.flow_control.refy.Value() ^ 1));
 | 
			
		||||
        or (eax, ebx);
 | 
			
		||||
        xor_(eax, (instr.flow_control.refx.Value() ^ 1));
 | 
			
		||||
        xor_(ebx, (instr.flow_control.refy.Value() ^ 1));
 | 
			
		||||
        or_(eax, ebx);
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case Instruction::FlowControlType::And:
 | 
			
		||||
        mov(eax, COND0);
 | 
			
		||||
        mov(ebx, COND1);
 | 
			
		||||
        xor(eax, (instr.flow_control.refx.Value() ^ 1));
 | 
			
		||||
        xor(ebx, (instr.flow_control.refy.Value() ^ 1));
 | 
			
		||||
        and(eax, ebx);
 | 
			
		||||
        xor_(eax, (instr.flow_control.refx.Value() ^ 1));
 | 
			
		||||
        xor_(ebx, (instr.flow_control.refy.Value() ^ 1));
 | 
			
		||||
        and_(eax, ebx);
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case Instruction::FlowControlType::JustX:
 | 
			
		||||
        mov(eax, COND0);
 | 
			
		||||
        xor(eax, (instr.flow_control.refx.Value() ^ 1));
 | 
			
		||||
        xor_(eax, (instr.flow_control.refx.Value() ^ 1));
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
    case Instruction::FlowControlType::JustY:
 | 
			
		||||
        mov(eax, COND1);
 | 
			
		||||
        xor(eax, (instr.flow_control.refy.Value() ^ 1));
 | 
			
		||||
        xor_(eax, (instr.flow_control.refy.Value() ^ 1));
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -734,10 +734,10 @@ void JitShader::Compile_LOOP(Instruction instr) {
 | 
			
		||||
    mov(LOOPCOUNT, dword[SETUP + offset]);
 | 
			
		||||
    mov(LOOPCOUNT_REG, LOOPCOUNT);
 | 
			
		||||
    shr(LOOPCOUNT_REG, 4);
 | 
			
		||||
    and(LOOPCOUNT_REG, 0xFF0); // Y-component is the start
 | 
			
		||||
    and_(LOOPCOUNT_REG, 0xFF0); // Y-component is the start
 | 
			
		||||
    mov(LOOPINC, LOOPCOUNT);
 | 
			
		||||
    shr(LOOPINC, 12);
 | 
			
		||||
    and(LOOPINC, 0xFF0);                // Z-component is the incrementer
 | 
			
		||||
    and_(LOOPINC, 0xFF0);               // Z-component is the incrementer
 | 
			
		||||
    movzx(LOOPCOUNT, LOOPCOUNT.cvt8()); // X-component is iteration count
 | 
			
		||||
    add(LOOPCOUNT, 1);                  // Iteration count is X-component + 1
 | 
			
		||||
 | 
			
		||||
@@ -858,9 +858,9 @@ void JitShader::Compile(const std::array<u32, MAX_PROGRAM_CODE_LENGTH>* program_
 | 
			
		||||
    mov(STATE, ABI_PARAM2);
 | 
			
		||||
 | 
			
		||||
    // Zero address/loop  registers
 | 
			
		||||
    xor(ADDROFFS_REG_0.cvt32(), ADDROFFS_REG_0.cvt32());
 | 
			
		||||
    xor(ADDROFFS_REG_1.cvt32(), ADDROFFS_REG_1.cvt32());
 | 
			
		||||
    xor(LOOPCOUNT_REG, LOOPCOUNT_REG);
 | 
			
		||||
    xor_(ADDROFFS_REG_0.cvt32(), ADDROFFS_REG_0.cvt32());
 | 
			
		||||
    xor_(ADDROFFS_REG_1.cvt32(), ADDROFFS_REG_1.cvt32());
 | 
			
		||||
    xor_(LOOPCOUNT_REG, LOOPCOUNT_REG);
 | 
			
		||||
 | 
			
		||||
    // Used to set a register to one
 | 
			
		||||
    static const __m128 one = {1.f, 1.f, 1.f, 1.f};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user