1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 MIPS Technologies, Inc. 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 160 unchanged lines hidden (view full) --- 169 { 170 Fault fault = NoFault; 171 172 %(fp_enable_check)s; 173 174 175 //When is the right time to reset cause bits? 176 //start of every instruction or every cycle? |
177 if (FullSystem) |
178 fpResetCauseBits(xc); 179 %(op_decl)s; 180 %(op_rd)s; 181 182 //Check if any FP operand is a NaN value 183 if (!fpNanOperands((FPOp*)this, xc, Fd, traceData)) { 184 %(code)s; 185 186 //Change this code for Full-System/Sycall Emulation 187 //separation 188 //---- 189 //Should Full System-Mode throw a fault here? 190 //---- 191 //Check for IEEE 754 FP Exceptions 192 //fault = fpNanOperands((FPOp*)this, xc, Fd, traceData); 193 bool invalid_op = false; |
194 if (FullSystem) { |
195 invalid_op = 196 fpInvalidOp((FPOp*)this, xc, Fd, traceData); 197 } 198 if (!invalid_op && fault == NoFault) { 199 %(op_wb)s; 200 } 201 } 202 --- 168 unchanged lines hidden --- |