summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHomer Hsing <homer.xing@intel.com>2012-09-28 14:05:51 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2012-09-28 04:06:01 -0400
commitb56ecf44832dc798f8b824287743763e7cbee068 (patch)
treebe8ee8805027aed481c1eac966c3feab7a665a7e
parent03789fc7240cc14ce4d3b6ed25afc3bfd8c83e7f (diff)
Support Gen6 WHILE instruction
-rw-r--r--src/gram.y5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gram.y b/src/gram.y
index 03b7741..1b40988 100644
--- a/src/gram.y
+++ b/src/gram.y
@@ -545,7 +545,10 @@ loopinstruction: predicate WHILE execsize relativelocation instoptions
set_instruction_src1(&$$, &$4);
$$.first_reloc_target = $4.reloc_target;
$$.first_reloc_offset = $4.imm32;
- } else if (gen_level == 7) { // TODO: Gen6 also OK?
+ } else if (gen_level >= 6) {
+ /* Gen6 spec:
+ dest must have the same element size as src0.
+ dest horizontal stride must be 1. */
memset(&$$, 0, sizeof($$));
set_instruction_predicate(&$$, &$1);
$$.header.opcode = $2;