https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104580
Bug ID: 104580 Summary: [nvptx] Use prevent_branch_around_nothing only when necessary Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: vries at gcc dot gnu.org Target Milestone: --- I had the following idea: The prevent_branch_around_nothing workaround was added to force a uniform warp after this: ... { .reg.u32 %x; mov.u32 %x, %tid.x; setp.ne.u32 %r23, %x, 0; } @%r23 bra $L2; $L2: ... With TARGET_PTX_6_0, we enforce a uniform warp by using bar.warp.sync, and consequently this workaround is not necessary anymore. ... However, this introduces the following regression: ... FAIL: libgomp.fortran/task-detach-8.f90 -Os execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/reduction-7.c -DACC_DEVICE_TYPE_nvidia=1 -DACC_MEM_SHARED=0 -foffload=nvptx-none -O0 -DGOMP_NVPTX_JIT=-O0 execution test ... Needs investigation. Either the idea is wrong, or the tests FAIL for some other reason.