summaryrefslogtreecommitdiff
path: root/Source/Core/Common/x64Emitter.cpp
AgeCommit message (Collapse)Author
2015-06-07zfreeze: cache vertex positionsTillmann Karras
Suggested by degasus.
2015-06-02XEmitter: add FMA4 instructionsTillmann Karras
2015-05-29x64Emitter: Pass some OpArg parameters by const referenceLioncash
Considering OpArg is a struct, passing by value creates unnecessary copies.
2015-05-29x64Emitter: Remove 'Gen::' namespace prefix from some parametersLioncash
The emitter is already within the Gen namespace, so this isn't necessary.
2015-05-29x64Emitter: Adjust position of reference and pointer indicatorsLioncash
Matches the coding style.
2015-05-25Merge pull request #2421 from Tilka/jit_stuffRyan Houdek
Jit64: fixes + less code
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-21XEmitter: add BLENDPS/BLENDPDTillmann Karras
2015-05-20XEmitter: fix L bit in VEX prefixTillmann Karras
2015-05-17XEmitter: restructure WriteVEXOp wrappersTillmann Karras
2015-05-17XEmitter: add VBLENDVPD and VCMPPDTillmann Karras
2015-05-17XEmitter: rename WriteVex to WriteVEXTillmann Karras
2015-05-17XEmitter: rename WriteRex to WriteREXTillmann Karras
2015-04-23Merge pull request #2088 from Sintendo/diecmpcomex
Emit 'TEST reg, reg' for 'CMP reg, 0' automatically
2015-04-23Merge pull request #2223 from phire/immcomex
Cleanup OpArg, make immediates more explicit.
2015-03-22Add function to emit CMP, or TEST when possibleSintendo
Also, a spelling mistake.
2015-03-20Merge pull request #2240 from lioncash/emittermagumagu
x64Emitter: Remove emitter pointer parameter from WriteNormalOp.
2015-03-20x64Emitter: Remove emitter pointer parameter from WriteNormalOp.Lioncash
It only ever passed the equivalent of the class' this pointer. May as well get rid of it.
2015-03-18XEmitter: add PUNPCKLQDQTillmann Karras
2015-03-17Make OpArg.offset and operandReg private.Scott Mansell
Also cleaned up WriteRest function.
2015-01-21Merge pull request #1869 from Stevoisiak/GeneralConsistencyRyan Houdek
Minor consistency changes
2015-01-18Move MOVBE wrappers directly into XEmitter classTillmann Karras
2015-01-18XEmitter: overload MOVBE()Tillmann Karras
2015-01-12Minor consistency changesStevoisiak
Mostly small changes, like capitalization and spelling
2015-01-07x64Emitter: add MOVLPS/MOVHPSTillmann Karras
2015-01-07x64Emitter: fix MOVLPD/MOVHPDTillmann Karras
These instructions were using the wrong prefix which turned MOVLPD(reg, mem) into MOVDDUP(reg, mem) and made the rest of them invalid.
2014-12-06x64Emitter: fix bitwise AVX opcodesTillmann Karras
The reason this didn't break is that bitwise instructions like VPAND, VANDPS, and VANDPD do the exact same thing. The only difference is the data type they are intended for.
2014-11-13Various formatting and consistency fixesStevoisiak
2014-11-09JIT: add 64-bit write support to FIFO functionsFiora
Also fix 64-bit values passed to CallAC and otherwise correct immediate handling in FIFO writes. Fixes 007 Nightfire.
2014-10-12Merge pull request #995 from FioraAeterna/fmaskidau
Add FMA support to emitter and use it in the JIT
2014-10-10Be consistent with braces.Henrik Rydgård
2014-10-10x64 emitter: Add some more missing ops (MOVDQA, MOVDQU, PSHUFHW)Henrik Rydgård
Also constify some pointers.
2014-10-10x64 emitter: Add a few missing instructionsHenrik Rydgård
2014-10-07X64Emitter: add FMA3 supportFiora
2014-10-03x64Emitter: refactor, add some new AVX instructionsFiora
2014-09-26JIT+Emitter: support locking flagsFiora
This helps us avoid accidentally clobbering flags between two instructions when the flags are expected to be maintained. Dolphin will of course crash immediately, but at least it will crash loudly and alert us of the mistake, instead of forcing hours of bisecting to find the subtle way in which the JIT has managed to sneak a flag-modifying instruction where there shouldn't be one.
2014-09-18X64Emitter: add MOVHLPS/MOVLHPSFiora
2014-09-17Be pedantic about stack overflow on Linux and OS X.comex
Add some magic to the fault handler to handle stack overflow due to BLR optimization, and disable the optimization if fastmem is not enabled.
2014-09-15x64Emitter: fix silent failure if WriteNormalOp is passed two memory operandsFiora
Should now fail loudly and clearly instead.
2014-09-14x64Emitter: add LZCNT/TZCNT support and detectionFiora
Also add a unit test.
2014-09-11X64Emitter: support shorter mov reg, imm opcodesFiora
Also refactor WriteNormalOp a little bit and add comments.
2014-09-08Include CommonTypes.h instead of Common.h.Rohit Nirmal
2014-09-06Split some parts of UpdateBoundingBox into multiple lines. Also,Rohit Nirmal
fix issues causing failure on Lint.
2014-09-06Fix some formatting (new lines on collapsed single-line conditionals,Rohit Nirmal
new lines for opening braces).
2014-09-03x64Emitter: add BMI1/BMI2 supportFiora
TZCNT and LZCNT use a completely different encoding scheme, so they should probably go in a separate patch. Also add some tests.
2014-09-02Merge pull request #893 from rohitnirmal/scan-build-fixesshuffle2
Scan build fixes
2014-09-02x64Emitter: add support for shorter EAX forms of instructionsFiora
Should save a few bytes of code size here and there.
2014-09-02x64Emitter: Do not assert-fail on redundant MOVs, instead show an error logPierre Bourdon
2014-09-02x64Emitter: Support FLD/FSTP with 80 bits operandsPierre Bourdon