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

Xing, Homer homer.xing at intel.com
Wed Aug 7 01:10:45 PDT 2013


"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]
Sent: Wednesday, August 7, 2013 4:04 PM
To: Xing, Homer
Cc: 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?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/beignet/attachments/20130807/8f2eaa3e/attachment.html>


More information about the Beignet mailing list