[Beignet] [PATCH] GBE: fix a patch JMPI assert.

Song, Ruiling ruiling.song at intel.com
Wed Jun 22 07:10:23 UTC 2016


I am ok with this patch.

Thanks!
Ruiling

> -----Original Message-----
> From: Beignet [mailto:beignet-bounces at lists.freedesktop.org] On Behalf Of
> Yang Rong
> Sent: Thursday, May 26, 2016 1:29 PM
> To: beignet at lists.freedesktop.org
> Cc: Yang, Rong R <rong.r.yang at intel.com>
> Subject: [Beignet] [PATCH] GBE: fix a patch JMPI assert.
> 
> If jmpi out of range (+/-32768), should use long jump.
> Now decide the long jump in the gbe, use the GEN IR, but
> one GEN IR may produce several GEN instructions, especially
> long operation pre BDW. So use experiential 8000 as threshold.
> But some case still out of range. So decrease the threshold to
> 3000. Need move it to context in the futher.
> 
> Fix bug:
> https://bugs.freedesktop.org/show_bug.cgi?id=94810
> 
> Signed-off-by: Yang Rong <rong.r.yang at intel.com>
> ---
>  backend/src/backend/gen_insn_selection.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/backend/src/backend/gen_insn_selection.cpp
> b/backend/src/backend/gen_insn_selection.cpp
> index fbd9363..a9cd65a 100644
> --- a/backend/src/backend/gen_insn_selection.cpp
> +++ b/backend/src/backend/gen_insn_selection.cpp
> @@ -1203,7 +1203,7 @@ namespace gbe
>      }
>      // FIXME, this longjmp check is too hacky. We need to support instruction
>      // insertion at code emission stage in the future.
> -    insn->extra.longjmp = ctx.getFunction().getDistance(start, end) > 8000;
> +    insn->extra.longjmp = ctx.getFunction().getDistance(start, end) > 3000;
>      return insn->extra.longjmp ? 2 : 1;
>    }
> 
> --
> 2.1.4
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list