Decrement and shift in separate steps

This commit is contained in:
Frank Denis
2024-10-23 19:52:14 +02:00
parent 409b3a70ad
commit 96d115cf29
@@ -566,9 +566,10 @@ static unsigned char
equal(signed char b, signed char c)
{
const unsigned char x = (unsigned char) b ^ (unsigned char) c; /* 0: yes; 1..255: no */
const uint32_t y = (uint32_t) x; /* 0: yes; 1..255: no */
uint32_t y = (uint32_t) x; /* 0: yes; 1..255: no */
return (((y - 1) >> 29) ^ optblocker_u8) >> 2; /* 1: yes; 0: no */
y--;
return ((y >> 29) ^ optblocker_u8) >> 2; /* 1: yes; 0: no */
}
static unsigned char