Add --opt=force-aligned-memory option.

This forces all vector loads/stores to be done assuming that the given
pointer is aligned to the vector size, thus allowing the use of sometimes
more-efficient instructions.  (If it isn't the case that the memory is
aligned, the program will fail!).
This commit is contained in:
Matt Pharr
2012-09-14 13:49:45 -07:00
parent 59b0a2b208
commit be2108260e
6 changed files with 35 additions and 8 deletions

6
ispc.h
View File

@@ -311,6 +311,12 @@ struct Opt {
that support them). */
bool disableFMA;
/** Always generate aligned vector load/store instructions; this
implies a guarantee that all dynamic access through pointers that
becomes a vector load/store will be a cache-aligned sequence of
locations. */
bool forceAlignedMemory;
/** If enabled, disables the various optimizations that kick in when
the execution mask can be determined to be "all on" at compile
time. */