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 ---