The signed/unsigned mismatch (regardless of whether it makes a
difference or not) is what led to inspecting __ll_rshift() which, in
turn, resulted in finding a far more serious issue (incorrect
implementation) corrected in both __ll_rshift() and __ull_rshift().
This is a result of a series of warnings suggested by Aleksandar Andrejevic.
-Werror -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align
-Wwrite-strings -Wmissing-prototypes -Wmissing-declarations
-Wredundant-decls -Wnested-externs -Winline -Wno-long-long
-Wuninitialized -Wconversion -Wstrict-prototypes
Regards,
Amine.