From cb37a039eb7a7375d074bc092457349312c5a2e2 Mon Sep 17 00:00:00 2001 From: tschwinge Date: Thu, 18 Dec 2014 16:07:23 +0000 Subject: [PATCH] OpenACC acc_on_device: Fix logic error introduced in an earlier change. ... but which didn't show up in testing until after a libgomp rebuild, because of the "caching" of the acc_on_device builtin that is being done in libgomp/oacc-init.c:acc_on_device. gcc/ * builtins.c (expand_builtin_acc_on_device): Fix logic error. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@218869 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.gomp | 2 ++ gcc/builtins.c | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog.gomp b/gcc/ChangeLog.gomp index a744ebfb064..a21fd927f1c 100644 --- a/gcc/ChangeLog.gomp +++ b/gcc/ChangeLog.gomp @@ -1,5 +1,7 @@ 2014-12-18 Thomas Schwinge + * builtins.c (expand_builtin_acc_on_device): Fix logic error. + * config/i386/intelmic-offload.h: New file. * config/nvptx/offload.h: Likewise. * config.gcc <*-intelmic-*, *-intelmicemul-*, nvptx-*>: Point to diff --git a/gcc/builtins.c b/gcc/builtins.c index 33025a5d835..6891229a2e3 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5909,13 +5909,13 @@ expand_builtin_acc_on_device (tree exp, rtx target) machine_mode target_mode = TYPE_MODE (integer_type_node); if (!REG_P (target) || GET_MODE (target) != target_mode) target = gen_reg_rtx (target_mode); - emit_move_insn (target, const0_rtx); + emit_move_insn (target, const1_rtx); rtx_code_label *done_label = gen_label_rtx (); - do_compare_rtx_and_jump (v, v1, NE, false, v_mode, NULL_RTX, + do_compare_rtx_and_jump (v, v1, EQ, false, v_mode, NULL_RTX, NULL_RTX, done_label, PROB_EVEN); - do_compare_rtx_and_jump (v, v2, NE, false, v_mode, NULL_RTX, + do_compare_rtx_and_jump (v, v2, EQ, false, v_mode, NULL_RTX, NULL_RTX, done_label, PROB_EVEN); - emit_move_insn (target, const1_rtx); + emit_move_insn (target, const0_rtx); emit_label (done_label); return target; -- 2.11.4.GIT