[Mesa-dev] [PATCH 6/6] i965/disasm: Properly debug negate source modifier for logical instructions

Matt Turner mattst88 at gmail.com
Wed Jun 4 15:30:15 PDT 2014


On Tue, Jun 3, 2014 at 3:59 PM, Abdiel Janulgue
<abdiel.janulgue at linux.intel.com> wrote:
> Signed-off-by: Abdiel Janulgue <abdiel.janulgue at linux.intel.com>
> ---
>  src/mesa/drivers/dri/i965/gen8_disasm.c | 24 +++++++++++++++++++++---
>  1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/gen8_disasm.c b/src/mesa/drivers/dri/i965/gen8_disasm.c
> index 04f8538..d027d9a 100644
> --- a/src/mesa/drivers/dri/i965/gen8_disasm.c
> +++ b/src/mesa/drivers/dri/i965/gen8_disasm.c
> @@ -50,6 +50,8 @@ static const char *const m_negate[2] = { "", "-" };
>
>  static const char *const m_abs[2] = { "", "(abs)" };
>
> +static const char *const m_bitnot[2] = { "", "~" };
> +
>  static const char *const m_vert_stride[16] = {
>     "0",
>     "1",
> @@ -511,13 +513,23 @@ src_swizzle(FILE *file, unsigned x, unsigned y, unsigned z, unsigned w)
>     return err;
>  }
>
> +static bool
> +is_logic_instruction(struct gen8_instruction *inst)
> +{
> +   return (gen8_opcode(inst) == BRW_OPCODE_AND ||
> +           gen8_opcode(inst) == BRW_OPCODE_NOT ||
> +           gen8_opcode(inst) == BRW_OPCODE_OR  ||
> +           gen8_opcode(inst) == BRW_OPCODE_XOR);

I think I'd have a slight preference that this function take an
unsigned opcode, and to pass gen8_opcode(inst) as the argument to
src_da1/src_da16.

Maybe Ken has an opinion?


More information about the mesa-dev mailing list