summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHomer Hsing <homer.xing@intel.com>2012-09-28 14:05:51 +0800
committerDamien Lespiau <damien.lespiau@intel.com>2013-03-04 15:54:34 +0000
commite8cb195c6d9bb9072896e15416f4207ccffdd919 (patch)
tree67341a4570e02418fa83f9b3b269329290a90b67
parent2ad18c1c97a14edd9733b1d7319a1c50a170be92 (diff)
Support Gen6 WHILE instruction
-rw-r--r--assembler/src/gram.y5
1 files changed, 4 insertions, 1 deletions
diff --git a/assembler/src/gram.y b/assembler/src/gram.y
index 03b77417..1b409886 100644
--- a/assembler/src/gram.y
+++ b/assembler/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;