https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95397
--- Comment #9 from Kirill Chilikin <chilikin.k at gmail dot com> --- It seems that the issue may be in oacc_xform_loop(). When generating code for _41 = .GOACC_LOOP (STEP, 1, 32, 1, 0, 4); (gdb) p mask $31 = 4 (gdb) p outer_mask $32 = 4 (gdb) p inner_mask $33 = 0 which seems to be fine as this is a vector loop, but then it sets (gdb) p striding $26 = true (gdb) p chunking $27 = false and the code for IFN_GOACC_LOOP_STEP sets volume = mask, while the result would be correct if (volume == inner_mask), it this case oacc_thread_numbers() would return 1. The loop exit condition then becomes !(offset + 1 < bound), which is expected.
