[Beignet] [PATCH] Backend: Refine replace src for write instruction

Song, Ruiling ruiling.song at intel.com
Tue Sep 13 07:53:47 UTC 2016



> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Xiuli Pan
> Sent: Friday, September 9, 2016 1:41 PM
> To: beignet at lists.freedesktop.org
> Cc: Li, Peng <peng.li at intel.com>; Pan, Xiuli <xiuli.pan at intel.com>
> Subject: [Beignet] [PATCH] Backend: Refine replace src for write instruction
> 
> From: Pan Xiuli <xiuli.pan at intel.com>
> 
> For write instruction src regs, they may be some header and need to be
> replaced with nomask mov.
Why should we set nomask for write operation? Could you give more details?

- Ruiling
> 
> Signed-off-by: Pan Xiuli <xiuli.pan at intel.com>
> ---
>  backend/src/backend/gen_insn_selection.cpp | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/backend/src/backend/gen_insn_selection.cpp
> b/backend/src/backend/gen_insn_selection.cpp
> index 9a26cdc..d92c597 100644
> --- a/backend/src/backend/gen_insn_selection.cpp
> +++ b/backend/src/backend/gen_insn_selection.cpp
> @@ -1096,6 +1096,9 @@ namespace gbe
>          mov->state.flag = 0;
>          mov->state.subFlag = 0;
>        }
> +      // This reg may be header of send message.
> +      if (insn->isWrite())
> +        mov->state.noMask = 1;
>        if (this->isScalarReg(insn->src(regID).reg()))
>          mov->state.noMask = 1;
>        mov->dst(0) = gr;
> --
> 2.7.4
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list