microregop.cc (5836:96b77f1f419a) microregop.cc (6361:62de7e765286)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 53 unchanged lines hidden (view full) ---

62
63namespace X86ISA
64{
65 uint64_t RegOpBase::genFlags(uint64_t oldFlags, uint64_t flagMask,
66 uint64_t _dest, uint64_t _src1, uint64_t _src2,
67 bool subtract) const
68 {
69 DPRINTF(X86, "flagMask = %#x\n", flagMask);
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 53 unchanged lines hidden (view full) ---

62
63namespace X86ISA
64{
65 uint64_t RegOpBase::genFlags(uint64_t oldFlags, uint64_t flagMask,
66 uint64_t _dest, uint64_t _src1, uint64_t _src2,
67 bool subtract) const
68 {
69 DPRINTF(X86, "flagMask = %#x\n", flagMask);
70 if (_destRegIdx[0] & (1 << 6)) {
70 if (_destRegIdx[0] & IntFoldBit) {
71 _dest >>= 8;
72 }
73 uint64_t flags = oldFlags & ~flagMask;
74 if(flagMask & (ECFBit | CFBit))
75 {
76 if(findCarry(dataSize*8, _dest, _src1, _src2))
77 flags |= (flagMask & (ECFBit | CFBit));
78 if(subtract)

--- 47 unchanged lines hidden ---
71 _dest >>= 8;
72 }
73 uint64_t flags = oldFlags & ~flagMask;
74 if(flagMask & (ECFBit | CFBit))
75 {
76 if(findCarry(dataSize*8, _dest, _src1, _src2))
77 flags |= (flagMask & (ECFBit | CFBit));
78 if(subtract)

--- 47 unchanged lines hidden ---