Skip to content

Commit

Permalink
Common: Fix vector allfalse() on ARM32
Browse files Browse the repository at this point in the history
  • Loading branch information
stenzek committed Jan 15, 2025
1 parent 45b500b commit 0189e1e
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/common/gsvector_neon.h
Original file line number Diff line number Diff line change
Expand Up @@ -661,8 +661,8 @@ class alignas(16) GSVector2i
#ifdef CPU_ARCH_ARM64
return (vmaxv_u32(vreinterpret_u8_s32(v2s)) & 0x80) != 0x80;
#else
return ((vget_lane_u32(vreinterpret_u32_s32(v2s), 0) & vget_lane_u32(vreinterpret_u32_s32(v2s), 1) & 0x80808080u) ==
0);
return (
((vget_lane_u32(vreinterpret_u32_s32(v2s), 0) | vget_lane_u32(vreinterpret_u32_s32(v2s), 1)) & 0x80808080u) == 0);
#endif
}

Expand Down Expand Up @@ -2125,8 +2125,8 @@ class alignas(16) GSVector4i
#ifdef CPU_ARCH_ARM64
return (vmaxvq_u32(vreinterpretq_u8_s32(v4s)) & 0x80) != 0x80;
#else
const uint32x2_t res = vreinterpret_u32_s32(vand_s32(vget_low_s32(v4s), vget_high_s32(v4s)));
return ((vget_lane_u32(res, 0) & vget_lane_u32(res, 1) & 0x80808080u) == 0);
const uint32x2_t res = vreinterpret_u32_s32(vorr_s32(vget_low_s32(v4s), vget_high_s32(v4s)));
return ((vget_lane_u32(res, 0) | vget_lane_u32(res, 1) & 0x80808080u) == 0);
#endif
}

Expand Down

0 comments on commit 0189e1e

Please # to comment.