gen.py (11325:67cc559d513a) gen.py (11534:7106f550afad)
1#! /usr/bin/python
2
3#
4# Copyright (c) 2015 Advanced Micro Devices, Inc.
5# All rights reserved.
6#
7# For use for simulation and test purposes only
8#

--- 221 unchanged lines hidden (view full) ---

230$class_name::execute(GPUDynInstPtr gpuDynInst)
231{
232 Wavefront *w = gpuDynInst->wavefront();
233
234 typedef Base::DestCType DestCType;
235
236 const VectorMask &mask = w->get_pred();
237
1#! /usr/bin/python
2
3#
4# Copyright (c) 2015 Advanced Micro Devices, Inc.
5# All rights reserved.
6#
7# For use for simulation and test purposes only
8#

--- 221 unchanged lines hidden (view full) ---

230$class_name::execute(GPUDynInstPtr gpuDynInst)
231{
232 Wavefront *w = gpuDynInst->wavefront();
233
234 typedef Base::DestCType DestCType;
235
236 const VectorMask &mask = w->get_pred();
237
238 for (int lane = 0; lane < VSZ; ++lane) {
238 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) {
239 if (mask[lane]) {
240 DestCType dest_val = $expr;
241 this->dest.set(w, lane, dest_val);
242 }
243 }
244}
245
246'''

--- 4 unchanged lines hidden (view full) ---

251{
252 Wavefront *w = gpuDynInst->wavefront();
253
254 typedef Base::DestCType DestCType;
255 typedef Base::SrcCType SrcCType;
256
257 const VectorMask &mask = w->get_pred();
258
239 if (mask[lane]) {
240 DestCType dest_val = $expr;
241 this->dest.set(w, lane, dest_val);
242 }
243 }
244}
245
246'''

--- 4 unchanged lines hidden (view full) ---

251{
252 Wavefront *w = gpuDynInst->wavefront();
253
254 typedef Base::DestCType DestCType;
255 typedef Base::SrcCType SrcCType;
256
257 const VectorMask &mask = w->get_pred();
258
259 for (int lane = 0; lane < VSZ; ++lane) {
259 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) {
260 if (mask[lane]) {
261 SrcCType src_val0 = this->src0.get<SrcCType>(w, lane);
262 DestCType dest_val = $expr;
263
264 this->dest.set(w, lane, dest_val);
265 }
266 }
267}

--- 4 unchanged lines hidden (view full) ---

272template<typename DataType>
273void
274$class_name<DataType>::execute(GPUDynInstPtr gpuDynInst)
275{
276 Wavefront *w = gpuDynInst->wavefront();
277
278 const VectorMask &mask = w->get_pred();
279
260 if (mask[lane]) {
261 SrcCType src_val0 = this->src0.get<SrcCType>(w, lane);
262 DestCType dest_val = $expr;
263
264 this->dest.set(w, lane, dest_val);
265 }
266 }
267}

--- 4 unchanged lines hidden (view full) ---

272template<typename DataType>
273void
274$class_name<DataType>::execute(GPUDynInstPtr gpuDynInst)
275{
276 Wavefront *w = gpuDynInst->wavefront();
277
278 const VectorMask &mask = w->get_pred();
279
280 for (int lane = 0; lane < VSZ; ++lane) {
280 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) {
281 if (mask[lane]) {
282 CType dest_val;
283 if ($dest_is_src_flag) {
284 dest_val = this->dest.template get<CType>(w, lane);
285 }
286
287 CType src_val[$num_srcs];
288

--- 18 unchanged lines hidden (view full) ---

307 Wavefront *w = gpuDynInst->wavefront();
308
309 typedef typename Base::Src0CType Src0T;
310 typedef typename Base::Src1CType Src1T;
311 typedef typename Base::Src2CType Src2T;
312
313 const VectorMask &mask = w->get_pred();
314
281 if (mask[lane]) {
282 CType dest_val;
283 if ($dest_is_src_flag) {
284 dest_val = this->dest.template get<CType>(w, lane);
285 }
286
287 CType src_val[$num_srcs];
288

--- 18 unchanged lines hidden (view full) ---

307 Wavefront *w = gpuDynInst->wavefront();
308
309 typedef typename Base::Src0CType Src0T;
310 typedef typename Base::Src1CType Src1T;
311 typedef typename Base::Src2CType Src2T;
312
313 const VectorMask &mask = w->get_pred();
314
315 for (int lane = 0; lane < VSZ; ++lane) {
315 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) {
316 if (mask[lane]) {
317 CType dest_val;
318
319 if ($dest_is_src_flag) {
320 dest_val = this->dest.template get<CType>(w, lane);
321 }
322
323 Src0T src_val0 = this->src0.template get<Src0T>(w, lane);

--- 17 unchanged lines hidden (view full) ---

341 Wavefront *w = gpuDynInst->wavefront();
342
343 typedef typename Base::DestCType DestT;
344 typedef CType Src0T;
345 typedef typename Base::Src1CType Src1T;
346
347 const VectorMask &mask = w->get_pred();
348
316 if (mask[lane]) {
317 CType dest_val;
318
319 if ($dest_is_src_flag) {
320 dest_val = this->dest.template get<CType>(w, lane);
321 }
322
323 Src0T src_val0 = this->src0.template get<Src0T>(w, lane);

--- 17 unchanged lines hidden (view full) ---

341 Wavefront *w = gpuDynInst->wavefront();
342
343 typedef typename Base::DestCType DestT;
344 typedef CType Src0T;
345 typedef typename Base::Src1CType Src1T;
346
347 const VectorMask &mask = w->get_pred();
348
349 for (int lane = 0; lane < VSZ; ++lane) {
349 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) {
350 if (mask[lane]) {
351 DestT dest_val;
352 if ($dest_is_src_flag) {
353 dest_val = this->dest.template get<DestT>(w, lane);
354 }
355 Src0T src_val0 = this->src0.template get<Src0T>(w, lane);
356 Src1T src_val1 = this->src1.template get<Src1T>(w, lane);
357

--- 9 unchanged lines hidden (view full) ---

367exec_template_shift = '''
368template<typename DataType>
369void
370$class_name<DataType>::execute(GPUDynInstPtr gpuDynInst)
371{
372 Wavefront *w = gpuDynInst->wavefront();
373
374 const VectorMask &mask = w->get_pred();
350 if (mask[lane]) {
351 DestT dest_val;
352 if ($dest_is_src_flag) {
353 dest_val = this->dest.template get<DestT>(w, lane);
354 }
355 Src0T src_val0 = this->src0.template get<Src0T>(w, lane);
356 Src1T src_val1 = this->src1.template get<Src1T>(w, lane);
357

--- 9 unchanged lines hidden (view full) ---

367exec_template_shift = '''
368template<typename DataType>
369void
370$class_name<DataType>::execute(GPUDynInstPtr gpuDynInst)
371{
372 Wavefront *w = gpuDynInst->wavefront();
373
374 const VectorMask &mask = w->get_pred();
375 for (int lane = 0; lane < VSZ; ++lane) {
375 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) {
376 if (mask[lane]) {
377 CType dest_val;
378
379 if ($dest_is_src_flag) {
380 dest_val = this->dest.template get<CType>(w, lane);
381 }
382
383 CType src_val0 = this->src0.template get<CType>(w, lane);

--- 12 unchanged lines hidden (view full) ---

396template<typename DestDataType, class SrcDataType>
397void
398$class_name<DestDataType, SrcDataType>::execute(GPUDynInstPtr gpuDynInst)
399{
400 Wavefront *w = gpuDynInst->wavefront();
401
402 const VectorMask &mask = w->get_pred();
403
376 if (mask[lane]) {
377 CType dest_val;
378
379 if ($dest_is_src_flag) {
380 dest_val = this->dest.template get<CType>(w, lane);
381 }
382
383 CType src_val0 = this->src0.template get<CType>(w, lane);

--- 12 unchanged lines hidden (view full) ---

396template<typename DestDataType, class SrcDataType>
397void
398$class_name<DestDataType, SrcDataType>::execute(GPUDynInstPtr gpuDynInst)
399{
400 Wavefront *w = gpuDynInst->wavefront();
401
402 const VectorMask &mask = w->get_pred();
403
404 for (int lane = 0; lane < VSZ; ++lane) {
404 for (int lane = 0; lane < w->computeUnit->wfSize(); ++lane) {
405 if (mask[lane]) {
406 DestCType dest_val;
407 SrcCType src_val[$num_srcs];
408
409 for (int i = 0; i < $num_srcs; ++i) {
410 src_val[i] = this->src[i].template get<SrcCType>(w, lane);
411 }
412

--- 394 unchanged lines hidden ---
405 if (mask[lane]) {
406 DestCType dest_val;
407 SrcCType src_val[$num_srcs];
408
409 for (int i = 0; i < $num_srcs; ++i) {
410 src_val[i] = this->src[i].template get<SrcCType>(w, lane);
411 }
412

--- 394 unchanged lines hidden ---