January 11, 2023
https://issues.dlang.org/show_bug.cgi?id=23618

          Issue ID: 23618
           Summary: Right Shift equals expressions on unsigned shorts
                    don't behave the same as regular shifts
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: maxhaton@gmail.com

unittest {
    const ushort tru = 1028;
    ushort ee = tru;
    ee <<= 5U;
    ee >>= 5U;
    assert(((tru << 5U) >> 5U) == ee);
}

Seems similar to regression 3583 from 2009

--