aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPekka Jääskeläinen <pekka.jaaskelainen@parmance.com>2018-05-04 19:46:16 +0000
committerPekka Jääskeläinen <visit0r@gcc.gnu.org>2018-05-04 19:46:16 +0000
commit73def6eadc7a1f3e3465b972b774f26fcf8446bf (patch)
treeccd1bcb8de4753d06372dde559faa64c155a313b /gcc
parent080dc24383a602a5a4095eb05b04100f15ba1ad4 (diff)
downloadgcc-73def6eadc7a1f3e3465b972b774f26fcf8446bf.zip
gcc-73def6eadc7a1f3e3465b972b774f26fcf8446bf.tar.gz
gcc-73def6eadc7a1f3e3465b972b774f26fcf8446bf.tar.bz2
[BRIGFE] Fix handling of NOPs.
From-SVN: r259958
Diffstat (limited to 'gcc')
-rw-r--r--gcc/brig/ChangeLog4
-rw-r--r--gcc/brig/brigfrontend/brig-basic-inst-handler.cc10
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/brig/ChangeLog b/gcc/brig/ChangeLog
index ce4aea6..0a2846d 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 c8224ae..75e1cfa 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. */