OSDN Git Service

i965: Don't compact instructions with unmapped bits.
authorFrancisco Jerez <currojerez@riseup.net>
Mon, 8 Jun 2015 18:18:34 +0000 (11:18 -0700)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 18 Jun 2015 12:28:40 +0000 (13:28 +0100)
commit631414a507a8a53cd82d6b50052fd2b631b9e0d3
tree00402d59e713de0f7afe117cfb2de01f018dc3ff
parent4a2d7fbde47c5043dacb75079813a06dc221eaa3
i965: Don't compact instructions with unmapped bits.

Some instruction bits don't have a mapping defined to any compacted
instruction field.  If they're ever set and we end up compacting the
instruction they will be forced to zero.  Avoid using compaction in such
cases.

v2: Align multiple lines of an expression to the same column.  Change
    conditional compaction of 3-source instructions to an
    assertion. (Matt)
v3: The 3-source instruction bit 105 is part of SourceIndex on CHV.
    Add assertion that reserved bit 7 is not set. (Matt)
    Document overlap with UIP and 64-bit immediate fields.
v4: Make some more unmapped bit checks assertions. (Matt)

Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit 35a77a148f8b7ef03fe3b31d63719e0bfdf4b783)
src/mesa/drivers/dri/i965/brw_eu_compact.c