Open derekbruening opened 9 years ago
From bruen...@google.com on March 22, 2014 11:04:56
split from issue #243 which added the basic shadowing and propagation, and dataflow mirroring for most of the pack, insert, and extract operations
\ TODO remaining dataflow operations to add
repeating the list from above:
*\ TODO need to scale shadow for conversions
cvt routines that convert downward like cvtpd2ps
also things that extend: cvt, pmovsx, pmovzx*
*\ TODO conditional moves
blend pblend
*\ TODO opcodes that search the xmm reg and so vary on what they read!
phminposuw: what to propagate to dst depends on actual value in xmm pshufb has a similar property
pcmpestr*: upper bounds determined by immeds. always reads it all? ever short-circuit?
*\ TODO and and or w/ constants need to mark defined probably rarer to have false pos here than w/ gpr b/c it's harder to get consts into xmm
Original issue: http://code.google.com/p/drmemory/issues/detail?id=1484
The list is now:
Looking at it now, I don't see how pack* can use normal propagation as it shrinks the data.
From bruen...@google.com on March 22, 2014 11:04:56
split from issue #243 which added the basic shadowing and propagation, and dataflow mirroring for most of the pack, insert, and extract operations
\ TODO remaining dataflow operations to add
repeating the list from above:
*\ TODO need to scale shadow for conversions
cvt routines that convert downward like cvtpd2ps
also things that extend: cvt, pmovsx, pmovzx*
*\ TODO conditional moves
blend pblend
*\ TODO opcodes that search the xmm reg and so vary on what they read!
phminposuw: what to propagate to dst depends on actual value in xmm pshufb has a similar property
pcmpestr*: upper bounds determined by immeds. always reads it all? ever short-circuit?
*\ TODO and and or w/ constants need to mark defined probably rarer to have false pos here than w/ gpr b/c it's harder to get consts into xmm
Original issue: http://code.google.com/p/drmemory/issues/detail?id=1484