arch: Use shared_ptr for all FaultsThis patch takes quite a large step in transitioning from the ad-hocRefCountingPtr to the c++11 shared_ptr by adopting its use for allFaults. There are no changes in behaviour, and the code modificationsare mostly just replacing "new" with "make_shared".
x86: Add microop for fenceThis patch adds a new microop for memory barrier. The microop itself doesnothing, but since it is marked as a memory barrier, the O3 CPU should flushall the pending loads and stores before the fence to the memory system.
X86: Fix the RIP relative versions of the BT, BTC, BTR, and BTS instructions.
copyright: Change HP copyright on x86 code to be more friendly
X86: Fix a number of places where the wrong form of a microop was used.
X86: Implement a locking version of BTC.
X86: Implement a locking version of BTR.
X86: Implement a locking version of BTS.
X86: Make the TEST instruction set all the flags it's supposed to.
X86: Create a SeqOp class of microops and make Br one of them.
X86: Redo BSF.
X86: Fix the implementation of BSF.
X86: Bit scan forward/reverse were accidentally transposed.
X86: Optomize the bit scanning instruction microassembly a little. More can be done.
X86: Implement and attach the BSR and BSF instructions.
X86: Redo the bit test instructions.
X86: Make sure the memory index is calculated using the address size for bit test instructions.
X86: Fix a copy/paste mistake where the bit test instructions were using an immediate where they should use a register.
X86: Fix a copy paste error in the bts microcode.
X86: Implement some bit testing instructions.
X86: Implement the undocumented SALC instruction which sets AL to 0xFF if CF=1 and 0x00 otherwise.
X86: Implement the BOUND instruction.
X86: Put in stubs for x87, 64 bit and 128 bit SIMD instruction microcode.