diff options
Diffstat (limited to 'gcc/brig')
-rw-r--r-- | gcc/brig/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/brig/brigfrontend/brig-basic-inst-handler.cc | 10 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog index ce4aea615eb..0a2846d3924 100644 --- a/gcc/brig/ChangeLog +++ b/gcc/brig/ChangeLog @@ -1,5 +1,9 @@ 2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> + * brig/brigfrontend/brig-basic-inst-handler.cc: Fix handling of NOPs. + +2018-05-04 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> + Add flag -fassume-phsa that is on by default. If -fno-assume-phsa is given, these optimizations are disabled. With this flag, gccbrig can generate GENERIC that assumes we are targeting a phsa-runtime diff --git a/gcc/brig/brigfrontend/brig-basic-inst-handler.cc b/gcc/brig/brigfrontend/brig-basic-inst-handler.cc index c8224ae6a51..75e1cfac7dd 100644 --- a/gcc/brig/brigfrontend/brig-basic-inst-handler.cc +++ b/gcc/brig/brigfrontend/brig-basic-inst-handler.cc @@ -447,6 +447,8 @@ size_t brig_basic_inst_handler::operator () (const BrigBase *base) { const BrigInstBase *brig_inst = (const BrigInstBase *) base; + if (brig_inst->opcode == BRIG_OPCODE_NOP) + return base->byteCount; tree_stl_vec operands = build_operands (*brig_inst); @@ -466,11 +468,9 @@ brig_basic_inst_handler::operator () (const BrigBase *base) BrigType16_t brig_inst_type = brig_inst->type; - if (brig_inst->opcode == BRIG_OPCODE_NOP) - return base->byteCount; - else if (brig_inst->opcode == BRIG_OPCODE_FIRSTBIT - || brig_inst->opcode == BRIG_OPCODE_LASTBIT - || brig_inst->opcode == BRIG_OPCODE_SAD) + if (brig_inst->opcode == BRIG_OPCODE_FIRSTBIT + || brig_inst->opcode == BRIG_OPCODE_LASTBIT + || brig_inst->opcode == BRIG_OPCODE_SAD) /* These instructions are reported to be always 32b in HSAIL, but we want to treat them according to their input argument's type to select the correct instruction/builtin. */ |