LGTM Reviewed-by:Sid Manning [email protected]
On Sat, Sep 5, 2026 at 1:09 PM Brian Cain <[email protected]> wrote: > Cast to uint32_t before left-shifting in sext8() to avoid undefined > behavior when shifting a negative value. The subsequent arithmetic > right shift on the int32_t cast correctly sign-extends the result. > Found with UBSan. > > Signed-off-by: Brian Cain <[email protected]> > --- > tests/tcg/hexagon/brev.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/tcg/hexagon/brev.c b/tests/tcg/hexagon/brev.c > index 6c7b1340849..1473e309ee0 100644 > --- a/tests/tcg/hexagon/brev.c > +++ b/tests/tcg/hexagon/brev.c > @@ -106,7 +106,7 @@ uint32_t bitreverse(uint32_t x) > > int32_t sext8(int32_t x) > { > - return (x << 24) >> 24; > + return (int32_t)((uint32_t)x << 24) >> 24; > } > > #define TEST_BREV_LOAD(SZ, TYPE, BUF, SHIFT, EXP) \ > -- > 2.34.1 > >
