Hi!

On 2026-07-01T16:30:41+0200, I wrote:
> On 2026-06-26T09:42:43-0700, Gio T <[email protected]> wrote:
>> This patch refactors 'hashtab.h' from a prime-sized double-hash
>> map to a power of two sized Robin Hood hashing regime. [...]
>
>
>> The data structure was microbenchmarked [...]
>
> Curious what the effects on real-world code (benchmarks) is going to be?
>
>
>> Built/tested x86_64-pc-linux-gnu.
>
> I've not reviewd your patch, but at least put it into my usual testing
> trees, and

I see libgomp test suite regressions as follows, testing on a system with
NVIDIA GPU (didn't test AMD GPU code offloading, so far):

    PASS: libgomp.c/../libgomp.c-c++-common/declare-target-indirect-1.c (test 
for excess errors)
    [-PASS:-]{+FAIL:+} 
libgomp.c/../libgomp.c-c++-common/declare-target-indirect-1.c execution test

    PASS: libgomp.c/../libgomp.c-c++-common/declare-target-indirect-2.c (test 
for excess errors)
    [-PASS:-]{+FAIL:+} 
libgomp.c/../libgomp.c-c++-common/declare-target-indirect-2.c execution test

    PASS: libgomp.c++/../libgomp.c-c++-common/declare-target-indirect-1.c (test 
for excess errors)
    [-PASS:-]{+FAIL:+} 
libgomp.c++/../libgomp.c-c++-common/declare-target-indirect-1.c execution test

    PASS: libgomp.c++/../libgomp.c-c++-common/declare-target-indirect-2.c (test 
for excess errors)
    [-PASS:-]{+FAIL:+} 
libgomp.c++/../libgomp.c-c++-common/declare-target-indirect-2.c execution test

    PASS: libgomp.fortran/declare-target-indirect-1.f90   -O0  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-1.f90   -O0  
execution test
    PASS: libgomp.fortran/declare-target-indirect-1.f90   -O1  (test for excess 
errors)
    PASS: libgomp.fortran/declare-target-indirect-1.f90   -O1  execution test
    PASS: libgomp.fortran/declare-target-indirect-1.f90   -O2  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-1.f90   -O2  
execution test
    PASS: libgomp.fortran/declare-target-indirect-1.f90   -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
(test for excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-1.f90   -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
execution test
    PASS: libgomp.fortran/declare-target-indirect-1.f90   -O3 -g  (test for 
excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-1.f90   -O3 -g  
execution test
    PASS: libgomp.fortran/declare-target-indirect-1.f90   -Os  (test for excess 
errors)
    PASS: libgomp.fortran/declare-target-indirect-1.f90   -Os  execution test

    PASS: libgomp.fortran/declare-target-indirect-2.f90   -O0  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-2.f90   -O0  
execution test
    PASS: libgomp.fortran/declare-target-indirect-2.f90   -O1  (test for excess 
errors)
    PASS: libgomp.fortran/declare-target-indirect-2.f90   -O1  execution test
    PASS: libgomp.fortran/declare-target-indirect-2.f90   -O2  (test for excess 
errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-2.f90   -O2  
execution test
    PASS: libgomp.fortran/declare-target-indirect-2.f90   -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
(test for excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-2.f90   -O3 
-fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  
execution test
    PASS: libgomp.fortran/declare-target-indirect-2.f90   -O3 -g  (test for 
excess errors)
    [-PASS:-]{+FAIL:+} libgomp.fortran/declare-target-indirect-2.f90   -O3 -g  
execution test
    PASS: libgomp.fortran/declare-target-indirect-2.f90   -Os  (test for excess 
errors)
    PASS: libgomp.fortran/declare-target-indirect-2.f90   -Os  execution test

These are:

    libgomp: cuCtxSynchronize error: an illegal memory access was encountered


Grüße
 Thomas


> see the build fail for 32-bit (x86_64 with '-m32'):
>
>     In file included from ../../../source-gcc/libgomp/task.c:49:
>     ../../../source-gcc/libgomp/hashtab.h: In function ‘rup2’:
>     ../../../source-gcc/libgomp/hashtab.h:136:17: error: right shift count >= 
> width of type [-Werror=shift-count-overflow]
>       136 |     num |= (num >> 32);
>           |                 ^~
>
>     In file included from ../../../source-gcc/libgomp/target.c:61:
>     [same]
>
>
> Grüße
>  Thomas

Reply via email to