https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115974
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- here is testcase for ustrunc at least (note llvm does not use uqxtn here even though it could): ``` void ustrunc0(unsigned long long *__restrict__ a, unsigned * __restrict__ b) { int i = 0; for(int i = 0;i < 1024;i ++) { unsigned long long tt = a[i]; if (tt > -1u) tt = -1u; b[i] = tt; } } ```