"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.g...@gmail.com] Sent: Wednesday, August 7, 2013 4:04 PM To: Xing, Homer Cc: beignet@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?
_______________________________________________ Beignet mailing list Beignet@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/beignet