[Bug libgomp/110842] [14 Regression] Openmp loops with KIND=16 DO loops

2024-03-22 Thread law at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110842

Jeffrey A. Law  changed:

   What|Removed |Added

 CC||law at gcc dot gnu.org
   Priority|P3  |P4

[Bug libgomp/110842] [14 Regression] Openmp loops with KIND=16 DO loops

2024-01-10 Thread jamborm at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110842

Martin Jambor  changed:

   What|Removed |Added

   Keywords|needs-bisection |

--- Comment #5 from Martin Jambor  ---
So IIUC nothing to bisect here and so I am removing the tag.  Please re-add if
I am somehow mistaken.

[Bug libgomp/110842] [14 Regression] Openmp loops with KIND=16 DO loops

2023-07-28 Thread burnus at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110842

Tobias Burnus  changed:

   What|Removed |Added

   Keywords||openmp

--- Comment #4 from Tobias Burnus  ---
> libgomp has no support for loop iterators larger than 64-bit unsigned, and I 
> believe in OpenMP it is implementation defined which iterator type is used.

"The iterations of some number of associated loops can be collapsed into one
larger iteration space that is called the logical iteration space. The
particular integer type used to compute the iteration count for the collapsed
loop is implementation defined, but its bit precision must be at least that of3
the widest type that the implementation would use for the iteration count of
each loop if it was the only associated loop."

This sounds a bit as if it should be supported – but at the end it is
implementation defined.

However, I think it makes sense to document it as implementation defined in
libomp.texi – and to output a compile time error if we know that something is
not implemented.

* * *

For use the largest type used in the loop, see also OG13-only patch (originally
for OG-12): commit
https://gcc.gnu.org/g:90d8139007c69657325c5c187b0d47f463b455d1 "openmp: Scale
type precision of collapsed iterator variable"
But that won't help if libgomp does not support the integer type.

* * *

> C/C++ OpenMP loops with __int128 or unsigned __int128 iterator will not work 
> either (nor with _BitInt(575) or similar).

... and we likely don't want to support _BitInt iterators!

[Bug libgomp/110842] [14 Regression] Openmp loops with KIND=16 DO loops

2023-07-28 Thread tkoenig at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110842

--- Comment #3 from Thomas Koenig  ---
(In reply to Jakub Jelinek from comment #2)
> Why a regression?

It worked before (if only by accident), hence I put "Regression" there.

> libgomp has no support for loop iterators larger than 64-bit unsigned, and I
> believe in OpenMP it is implementation defined which iterator type is used.
> C/C++ OpenMP loops with __int128 or unsigned __int128 iterator will not work
> either (nor with _BitInt(575) or similar).

If it is illegal, then the best way to do this would probably be an error
message instead of silent wrong code.

[Bug libgomp/110842] [14 Regression] Openmp loops with KIND=16 DO loops

2023-07-28 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110842

--- Comment #2 from Jakub Jelinek  ---
Why a regression?
libgomp has no support for loop iterators larger than 64-bit unsigned, and I
believe in OpenMP it is implementation defined which iterator type is used.
C/C++ OpenMP loops with __int128 or unsigned __int128 iterator will not work
either (nor with _BitInt(575) or similar).

[Bug libgomp/110842] [14 Regression] Openmp loops with KIND=16 DO loops

2023-07-28 Thread tkoenig at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110842

Thomas Koenig  changed:

   What|Removed |Added

   Target Milestone|--- |14.0
   Keywords||needs-bisection, wrong-code

--- Comment #1 from Thomas Koenig  ---
I just tested trunk, this might have happened earlier.