diff --git a/ispc.cpp b/ispc.cpp index 6729da92..49623be4 100644 --- a/ispc.cpp +++ b/ispc.cpp @@ -497,6 +497,7 @@ Opt::Opt() { disableMaskedStoreToStore = false; disableGatherScatterFlattening = false; disableUniformMemoryOptimizations = false; + disableCoalescing = false; } /////////////////////////////////////////////////////////////////////////// diff --git a/ispc.h b/ispc.h index 59c9140f..c28a9f67 100644 --- a/ispc.h +++ b/ispc.h @@ -339,6 +339,10 @@ struct Opt { than gathers/scatters. This is likely only useful for measuring the impact of this optimization. */ bool disableUniformMemoryOptimizations; + + /** Disables optimizations that coalesce incoherent scalar memory + access from gathers into wider vector operations, when possible. */ + bool disableCoalescing; }; /** @brief This structure collects together a number of global variables. diff --git a/main.cpp b/main.cpp index 7b8c66d5..faee437f 100644 --- a/main.cpp +++ b/main.cpp @@ -1,5 +1,5 @@ /* - Copyright (c) 2010-2011, Intel Corporation + Copyright (c) 2010-2012, Intel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without @@ -141,16 +141,17 @@ devUsage(int ret) { printf(" [--fuzz-test]\t\t\tRandomly perturb program input to test error conditions\n"); printf(" [--fuzz-seed=]\t\tSeed value for RNG for fuzz testing\n"); printf(" [--opt=