microregop.cc (7676:92274350b953) | microregop.cc (7969:068f061e57a8) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 36 unchanged lines hidden (view full) --- 45 46namespace X86ISA 47{ 48 uint64_t RegOpBase::genFlags(uint64_t oldFlags, uint64_t flagMask, 49 uint64_t _dest, uint64_t _src1, uint64_t _src2, 50 bool subtract) const 51 { 52 DPRINTF(X86, "flagMask = %#x\n", flagMask); | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 36 unchanged lines hidden (view full) --- 45 46namespace X86ISA 47{ 48 uint64_t RegOpBase::genFlags(uint64_t oldFlags, uint64_t flagMask, 49 uint64_t _dest, uint64_t _src1, uint64_t _src2, 50 bool subtract) const 51 { 52 DPRINTF(X86, "flagMask = %#x\n", flagMask); |
53 if (_destRegIdx[0] & IntFoldBit) { 54 _dest >>= 8; 55 } | |
56 uint64_t flags = oldFlags & ~flagMask; 57 if(flagMask & (ECFBit | CFBit)) 58 { 59 if(findCarry(dataSize*8, _dest, _src1, _src2)) 60 flags |= (flagMask & (ECFBit | CFBit)); 61 if(subtract) 62 flags ^= (flagMask & (ECFBit | CFBit)); 63 } --- 45 unchanged lines hidden --- | 53 uint64_t flags = oldFlags & ~flagMask; 54 if(flagMask & (ECFBit | CFBit)) 55 { 56 if(findCarry(dataSize*8, _dest, _src1, _src2)) 57 flags |= (flagMask & (ECFBit | CFBit)); 58 if(subtract) 59 flags ^= (flagMask & (ECFBit | CFBit)); 60 } --- 45 unchanged lines hidden --- |