1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 487 unchanged lines hidden (view full) --- 496 497 /** Returns the result of a floating point instruction. */ 498 float readFloatResult() { return (float)instResult.dbl; } 499 500 /** Returns the result of a floating point (double) instruction. */ 501 double readDoubleResult() { return instResult.dbl; } 502 503 /** Records an integer register being set to a value. */ |
504 void setIntRegOperand(const StaticInst *si, int idx, uint64_t val) |
505 { 506 if (recordResult) 507 instResult.integer = val; 508 } 509 510 /** Records an fp register being set to a value. */ |
511 void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val, 512 int width) |
513 { 514 if (recordResult) { 515 if (width == 32) 516 instResult.dbl = (double)val; 517 else if (width == 64) 518 instResult.dbl = val; 519 else 520 panic("Unsupported width!"); 521 } 522 } 523 524 /** Records an fp register being set to a value. */ |
525 void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val) |
526 { 527 if (recordResult) 528 instResult.dbl = (double)val; 529 } 530 531 /** Records an fp register being set to an integer value. */ |
532 void setFloatRegOperandBits(const StaticInst *si, int idx, uint64_t val, 533 int width) |
534 { 535 if (recordResult) 536 instResult.integer = val; 537 } 538 539 /** Records an fp register being set to an integer value. */ |
540 void setFloatRegOperandBits(const StaticInst *si, int idx, uint64_t val) |
541 { 542 if (recordResult) 543 instResult.integer = val; 544 } 545 546 /** Records that one of the source registers is ready. */ 547 void markSrcRegReady(); 548 --- 301 unchanged lines hidden --- |