[Mesa-dev] [PATCH 07/38] i965/vec4: Take into account all instruction fields in CSE instructions_match().

Matt Turner mattst88 at gmail.com
Thu Jun 4 10:27:19 PDT 2015


On Thu, Jun 4, 2015 at 9:04 AM, Francisco Jerez <currojerez at riseup.net> wrote:
> Most of these fields affect the behaviour of the instruction so it
> could actually break the program if we CSE a pair of otherwise
> matching instructions with different values of these fields.
> ---
>  src/mesa/drivers/dri/i965/brw_vec4_cse.cpp | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp b/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp
> index 9147c3c..c9fe0ce 100644
> --- a/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_vec4_cse.cpp
> @@ -114,8 +114,16 @@ instructions_match(vec4_instruction *a, vec4_instruction *b)
>  {
>     return a->opcode == b->opcode &&
>            a->saturate == b->saturate &&
> +          a->predicate == b->predicate &&
> +          a->predicate_inverse == b->predicate_inverse &&
>            a->conditional_mod == b->conditional_mod &&
> +          a->flag_subreg == b->flag_subreg &&
>            a->dst.type == b->dst.type &&
> +          a->offset == b->offset &&
> +          a->mlen == b->mlen &&
> +          a->base_mrf == b->base_mrf &&
> +          a->header_size == b->header_size &&
> +          a->shadow_compare == b->shadow_compare &&

I guess this is fine, but it's really just dead code. We don't CSE
textures in the vec4 backend.


More information about the mesa-dev mailing list