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; --- 392 unchanged lines hidden (view full) --- 401 402 /** Returns the result of a floating point instruction. */ 403 float readFloatResult() { return (float)instResult.dbl; } 404 405 /** Returns the result of a floating point (double) instruction. */ 406 double readDoubleResult() { return instResult.dbl; } 407 408 /** Records an integer register being set to a value. */ |
409 void setIntRegOperand(const StaticInst *si, int idx, uint64_t val) |
410 { 411 if (recordResult) 412 instResult.integer = val; 413 } 414 415 /** Records an fp register being set to a value. */ |
416 void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val, 417 int width) |
418 { 419 if (recordResult) { 420 if (width == 32) 421 instResult.dbl = (double)val; 422 else if (width == 64) 423 instResult.dbl = val; 424 else 425 panic("Unsupported width!"); 426 } 427 } 428 429 /** Records an fp register being set to a value. */ |
430 void setFloatRegOperand(const StaticInst *si, int idx, FloatReg val) |
431 { 432 if (recordResult) 433 instResult.dbl = (double)val; 434 } 435 436 /** Records an fp register being set to an integer value. */ |
437 void setFloatRegOperandBits(const StaticInst *si, int idx, uint64_t val, 438 int width) |
439 { 440 if (recordResult) 441 instResult.integer = val; 442 } 443 444 /** Records an fp register being set to an integer value. */ |
445 void setFloatRegOperandBits(const StaticInst *si, int idx, uint64_t val) |
446 { 447 if (recordResult) 448 instResult.integer = val; 449 } 450 451 /** Records that one of the source registers is ready. */ 452 void markSrcRegReady(); 453 --- 301 unchanged lines hidden --- |