[Mesa-dev] [RFC PATCH 0/5] Skip automatic execsize for instructions with a width of 4

Matt Turner mattst88 at gmail.com
Thu Dec 17 08:44:40 PST 2015


On Wed, Dec 9, 2015 at 4:15 AM, Iago Toral Quiroga <itoral at igalia.com> wrote:
> Right now we rely on the code at the bottom of brw_set_dest to set the correct execution size for anything that does not operate on a full SIMD register (dst.width < BRW_EXECUTE_8). However, this won't work with fp64, where operands are twice as big and we see instructions with a horizontal width of 4 that still require an execution size of 8. We cannot fix this by simply checking the type of the operands involved and skip the automatic execsize adjustment when they are doubles because we can also operate on doubles as integers (for pack and unpack operations for example).

Can you give an example of when checking the type wouldn't be
sufficient? Presumably packDouble2x32/unpackDouble2x32? What code do
they generate? Could we look at the destination's stride as well?


More information about the mesa-dev mailing list