https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96428
Bug ID: 96428 Summary: [nvptx] nvptx_gen_shuffle does not handle V2DI mode – Fails with an ICE Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: vries at gcc dot gnu.org Target Milestone: --- Target: nvptx Created attachment 48986 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48986&action=edit Test case (Fortran, use 'gfortran -fopenacc" with nvptx offloading) This is a peudoregression due to https://gcc.gnu.org/g:2ff0f48819c8a7ed5d7c03e2bfc02e5907e2ff1a – however, that change looks fine. But for this harmlessly looking code, one now gets an ICE. The ICE is due to nvptx_gen_shuffle not handling V2DI mode but now it is produced for the testcase. Additionally, I observe that shfl.mode.b32 (which is used for the implemented shufflings) the Nvidia documention states: "Deprecated in PTX ISA version 6.0 in favor of shfl.sync." / "Not supported in PTX ISA version 6.4 for .target sm_70 or higher." [I find: "Volta (CUDA 9 and later): SM70 or SM_70, compute_70 – Tesla V100, GTX 1180 (GV104) [...]" / "Turing (CUDA 10 and later) SM75 or SM_75, compute_75 – RTX 2080, Titan RTX, Quadro R8000".]