diff mbox

assembler: error for the wrong syntax of SEND instruction on GEN6+

Message ID 1376515276-25541-1-git-send-email-benjamin.widawsky@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Widawsky Aug. 14, 2013, 9:21 p.m. UTC
From: "Xiang, Haihao" <haihao.xiang@intel.com>

   predicate SEND execsize dst sendleadreg payload directsrcoperand instoptions
   predicate SEND execsize dst sendleadreg payload imm32reg instoptions
   predicate SEND execsize dst sendleadreg payload sndopr imm32reg instoptions
   predicate SEND execsize dst sendleadreg payload exp directsrcoperand instoptions

The above four syntaxes are only used on legacy platforms which support implied move
from payload to dst.

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
---

Somehow this ended up in our internal IGT. Anyone have an issue with me
pushing it to igt proper?

---
 assembler/gram.y | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

Comments

Lespiau, Damien Aug. 15, 2013, 11 a.m. UTC | #1
On Wed, Aug 14, 2013 at 02:21:16PM -0700, Ben Widawsky wrote:
> From: "Xiang, Haihao" <haihao.xiang@intel.com>
> 
>    predicate SEND execsize dst sendleadreg payload directsrcoperand instoptions
>    predicate SEND execsize dst sendleadreg payload imm32reg instoptions
>    predicate SEND execsize dst sendleadreg payload sndopr imm32reg instoptions
>    predicate SEND execsize dst sendleadreg payload exp directsrcoperand instoptions
> 
> The above four syntaxes are only used on legacy platforms which support implied move
> from payload to dst.
> 
> Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> ---
> 
> Somehow this ended up in our internal IGT. Anyone have an issue with me
> pushing it to igt proper?

Maybe just a small rewording of "the syntax of send instruction" error
message. Otherwise:

Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Ben Widawsky Aug. 15, 2013, 9:47 p.m. UTC | #2
On Thu, Aug 15, 2013 at 12:00:17PM +0100, Damien Lespiau wrote:
> On Wed, Aug 14, 2013 at 02:21:16PM -0700, Ben Widawsky wrote:
> > From: "Xiang, Haihao" <haihao.xiang@intel.com>
> > 
> >    predicate SEND execsize dst sendleadreg payload directsrcoperand instoptions
> >    predicate SEND execsize dst sendleadreg payload imm32reg instoptions
> >    predicate SEND execsize dst sendleadreg payload sndopr imm32reg instoptions
> >    predicate SEND execsize dst sendleadreg payload exp directsrcoperand instoptions
> > 
> > The above four syntaxes are only used on legacy platforms which support implied move
> > from payload to dst.
> > 
> > Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
> > Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> > ---
> > 
> > Somehow this ended up in our internal IGT. Anyone have an issue with me
> > pushing it to igt proper?
> 
> Maybe just a small rewording of "the syntax of send instruction" error
> message. Otherwise:
> 
> Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
> 

I forgot to reword... but I had meant to. Already pushed, feel free to
fix up. Sorry.
Lespiau, Damien Aug. 20, 2013, 1:27 p.m. UTC | #3
On Thu, Aug 15, 2013 at 02:47:47PM -0700, Ben Widawsky wrote:
> I forgot to reword... but I had meant to. Already pushed, feel free to
> fix up. Sorry.

Done! Hopefully slighty better.
diff mbox

Patch

diff --git a/assembler/gram.y b/assembler/gram.y
index e58c1fe..8795797 100644
--- a/assembler/gram.y
+++ b/assembler/gram.y
@@ -1215,6 +1215,9 @@  sendinstruction: predicate sendop execsize exp post_dst payload msgtarget
 		}
 		| predicate sendop execsize dst sendleadreg payload directsrcoperand instoptions
 		{
+		  if (IS_GENp(6))
+                      error(&@2, "the syntax of send instruction\n");
+
 		  memset(&$$, 0, sizeof($$));
 		  set_instruction_opcode(&$$, $2);
 		  GEN(&$$)->header.destreg__conditionalmod = $5.nr; /* msg reg index */
@@ -1233,6 +1236,9 @@  sendinstruction: predicate sendop execsize exp post_dst payload msgtarget
 		  }
 		| predicate sendop execsize dst sendleadreg payload imm32reg instoptions
                 {
+		  if (IS_GENp(6))
+                      error(&@2, "the syntax of send instruction\n");
+
 		  if ($7.reg.type != BRW_REGISTER_TYPE_UD &&
 		      $7.reg.type != BRW_REGISTER_TYPE_D &&
 		      $7.reg.type != BRW_REGISTER_TYPE_V) {
@@ -1336,6 +1342,9 @@  sendinstruction: predicate sendop execsize exp post_dst payload msgtarget
 		}
 		| predicate sendop execsize dst sendleadreg payload sndopr imm32reg instoptions
 		{
+		  if (IS_GENp(6))
+                      error(&@2, "the syntax of send instruction\n");
+
 		  if ($8.reg.type != BRW_REGISTER_TYPE_UD &&
 		      $8.reg.type != BRW_REGISTER_TYPE_D &&
 		      $8.reg.type != BRW_REGISTER_TYPE_V) {
@@ -1355,15 +1364,16 @@  sendinstruction: predicate sendop execsize exp post_dst payload msgtarget
 		  if (set_instruction_src1(&$$, &$8, &@8) != 0)
 		    YYERROR;
 
-		  if (IS_GENp(8)) {
-		      gen8_set_eot(GEN8(&$$), !!($7 & EX_DESC_EOT_MASK));
-		  } else if (IS_GENx(5)) {
+		  if (IS_GENx(5)) {
 		      GEN(&$$)->bits2.send_gen5.sfid = ($7 & EX_DESC_SFID_MASK);
 		      GEN(&$$)->bits3.generic_gen5.end_of_thread = !!($7 & EX_DESC_EOT_MASK);
 		  }
 		}
 		| predicate sendop execsize dst sendleadreg payload exp directsrcoperand instoptions
 		{
+		  if (IS_GENp(6))
+                      error(&@2, "the syntax of send instruction\n");
+
 		  memset(&$$, 0, sizeof($$));
 		  set_instruction_opcode(&$$, $2);
 		  GEN(&$$)->header.destreg__conditionalmod = $5.nr; /* msg reg index */