summaryrefslogtreecommitdiffstats
path: root/scons
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2016-04-25 15:39:29 -0700
committerFrancisco Jerez <[email protected]>2016-05-27 23:29:06 -0700
commitc88b52745c754619d3e7af73abb71adfcc63cc7a (patch)
treedad94d4c2948f0580ae5157891b46f4627ea4862 /scons
parent8476233ae22c77ca26d8109f0f0d6c74457969f8 (diff)
i965/fs: Fix cmod propagation not to propagate non-identity cmod into CMP(N).
The conditional mod of these instructions determines the semantics of the comparison itself (rather than being evaluated based on the result of the instruction as is usually the case for most other instructions that allow conditional mods), so it's in general not legal to propagate a conditional mod into a CMP instruction. This prevents cmod propagation from (mis)optimizing: cmp.z.f0 tmp, ... mov.z.f0 null, tmp into: cmp.z.f0 tmp, ... which gives the negation of the flag result of the original sequence. I could reproduce this easily with SIMD32 but I don't see any reason why the problem would be SIMD32-specific, it was most likely working by luck. Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'scons')
0 files changed, 0 insertions, 0 deletions