main.cc (11308:7d8836fd043d) | main.cc (11534:7106f550afad) |
---|---|
1/* 2 * Copyright (c) 2012-2015 Advanced Micro Devices, Inc. 3 * All rights reserved. 4 * 5 * For use for simulation and test purposes only 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are met: --- 120 unchanged lines hidden (view full) --- 129 void 130 Ret::execute(GPUDynInstPtr gpuDynInst) 131 { 132 Wavefront *w = gpuDynInst->wavefront(); 133 134 const VectorMask &mask = w->get_pred(); 135 136 // mask off completed work-items | 1/* 2 * Copyright (c) 2012-2015 Advanced Micro Devices, Inc. 3 * All rights reserved. 4 * 5 * For use for simulation and test purposes only 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions are met: --- 120 unchanged lines hidden (view full) --- 129 void 130 Ret::execute(GPUDynInstPtr gpuDynInst) 131 { 132 Wavefront *w = gpuDynInst->wavefront(); 133 134 const VectorMask &mask = w->get_pred(); 135 136 // mask off completed work-items |
137 for (int lane = 0; lane < VSZ; ++lane) { | 137 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) { |
138 if (mask[lane]) { 139 w->init_mask[lane] = 0; 140 } 141 142 } 143 144 // delete extra instructions fetched for completed work-items 145 w->instructionBuffer.erase(w->instructionBuffer.begin() + 1, --- 63 unchanged lines hidden --- | 138 if (mask[lane]) { 139 w->init_mask[lane] = 0; 140 } 141 142 } 143 144 // delete extra instructions fetched for completed work-items 145 w->instructionBuffer.erase(w->instructionBuffer.begin() + 1, --- 63 unchanged lines hidden --- |