i965: Don't compact instructions with unmapped bits.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 30 Jan 2015 15:50:35 +0000 (17:50 +0200)
committerFrancisco Jerez <currojerez@riseup.net>
Thu, 19 Feb 2015 12:06:42 +0000 (14:06 +0200)
commit35a77a148f8b7ef03fe3b31d63719e0bfdf4b783
tree89db9c93c468ffc0efad6eae0f3213c6f1306a9b
parent6c07279e5ad67d925b99ff9e0345dcaeffc37283
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>
src/mesa/drivers/dri/i965/brw_eu_compact.c