DynamoRIO / drmemory

Memory Debugger for Windows, Linux, Mac, and Android
Other
2.43k stars 262 forks source link

mirror remaining mmx/xmm dataflow operations #1484

Open derekbruening opened 9 years ago

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

derekbruening commented 8 years ago

The list is now:

derekbruening commented 8 years ago

Looking at it now, I don't see how pack* can use normal propagation as it shrinks the data.