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 ---