summaryrefslogtreecommitdiff
path: root/assembler/gram.y
diff options
context:
space:
mode:
Diffstat (limited to 'assembler/gram.y')
-rw-r--r--assembler/gram.y10
1 files changed, 8 insertions, 2 deletions
diff --git a/assembler/gram.y b/assembler/gram.y
index f8483d3d..5659e317 100644
--- a/assembler/gram.y
+++ b/assembler/gram.y
@@ -940,7 +940,10 @@ multibranchinstruction:
memset(&$$, 0, sizeof($$));
set_instruction_predicate(&$$, &$1);
set_instruction_opcode(&$$, $2);
- GEN(&$$)->header.thread_control |= BRW_THREAD_SWITCH;
+ if (IS_GENp(8))
+ gen8_set_thread_control(GEN8(&$$), gen8_thread_control(GEN8(&$$)) | BRW_THREAD_SWITCH);
+ else
+ GEN(&$$)->header.thread_control |= BRW_THREAD_SWITCH;
$$.reloc.first_reloc_target = $4.reloc_target;
$$.reloc.first_reloc_offset = $4.imm32;
dst_null_reg.width = $3;
@@ -952,7 +955,10 @@ multibranchinstruction:
memset(&$$, 0, sizeof($$));
set_instruction_predicate(&$$, &$1);
set_instruction_opcode(&$$, $2);
- GEN(&$$)->header.thread_control |= BRW_THREAD_SWITCH;
+ if (IS_GENp(8))
+ gen8_set_thread_control(GEN8(&$$), gen8_thread_control(GEN8(&$$)) | BRW_THREAD_SWITCH);
+ else
+ GEN(&$$)->header.thread_control |= BRW_THREAD_SWITCH;
$$.reloc.first_reloc_target = $4.reloc_target;
$$.reloc.first_reloc_offset = $4.imm32;
$$.reloc.second_reloc_target = $5.reloc_target;