[Beignet] [PATCH 1/2] support 64bit-integer shifting

Zhigang Gong zhigang.gong at gmail.com
Wed Aug 7 01:36:16 PDT 2013


Could you write a small patch to handle this conversion?
It's will be a little bit clearer than hiding part of
this function with other instructions. Thanks.

On Wed, Aug 07, 2013 at 08:28:48AM +0000, Xing, Homer wrote:
> Yes. W/F/DF to int64 conversion are also need.
> 
> From: zhigang gong [mailto:zhigang.gong at gmail.com]
> Sent: Wednesday, August 7, 2013 4:25 PM
> To: Xing, Homer
> Cc: beignet at lists.freedesktop.org
> Subject: Re: [Beignet] [PATCH 1/2] support 64bit-integer shifting
> 
> Got it. I did not check your new MOV_INT64 in this patch which indeed handle int32 to int64.
> As to the conversion, we may also need to handle conversion from W/F/DF to int64. Right?
> 
> On Wed, Aug 7, 2013 at 4:10 PM, Xing, Homer <homer.xing at intel.com<mailto:homer.xing at intel.com>> wrote:
> "MOV_INT64" in this patch is converting short int32 to long int64, maybe its name should be "CONVERT_INT64". As you see, in this patch, I also add converting code. I will do the code renaming.
> 
> From: zhigang gong [mailto:zhigang.gong at gmail.com<mailto:zhigang.gong at gmail.com>]
> Sent: Wednesday, August 7, 2013 4:04 PM
> To: Xing, Homer
> Cc: beignet at lists.freedesktop.org<mailto:beignet at lists.freedesktop.org>
> Subject: Re: [Beignet] [PATCH 1/2] support 64bit-integer shifting
> 
> Homer,
> 
> One quick comment for this patch, please see the following change:
> 
> @@ -2169,6 +2247,8 @@ namespace gbe
>        } else if (dst.isdf()) {
>          ir::Register r = sel.reg(ir::RegisterFamily::FAMILY_QWORD);
>          sel.MOV_DF(dst, src, sel.selReg(r));
> +      } else if (dst.isint64()) {
> +        sel.MOV_INT64(dst, src);
>        } else
>          sel.MOV(dst, src);
>        return true;
> 
> Here, what we want to do is to convert a different data type to int64 type.
> But according to your previous patch, MOV_INT64 is used to move two
> int64 type registers, right? So I think it may not be correct, and you may
> need to add a new instruction to handle similar CVT instruction as MOV_DF
> or you can extent MOV_DF to support int64 too. Any idea?
> 
> 
> 


More information about the Beignet mailing list