cdrom: change pause timing again
[pcsx_rearmed.git] / plugins / gpu_neon / psx_gpu / vector_ops.h
index 189eb79..6bc7643 100644 (file)
   foreach_element(2, (dest).e[_i] = (u32)(source).e[_i] >> (shift))            \
 
 #define shr_4x16b(dest, source, shift)                                         \
-  foreach_element(4, (dest).e[_i] = (source).e[_i] >> (shift))                 \
+  foreach_element(4, (dest).e[_i] = (u16)(source).e[_i] >> (shift))            \
 
 #define shl_4x16b(dest, source, shift)                                         \
   foreach_element(4, (dest).e[_i] = (u32)(source).e[_i] << (shift))            \
     (dest).e[_i] = result;                                                     \
   })                                                                           \
 
+#define min_4x16b(dest, source_a, source_b)                                    \
+  foreach_element(4,                                                           \
+  {                                                                            \
+    s32 result = (source_a).e[_i];                                             \
+    if((source_b).e[_i] < result)                                              \
+      result = (source_b).e[_i];                                               \
+    (dest).e[_i] = result;                                                     \
+  })                                                                           \
+
 #define min_8x16b(dest, source_a, source_b)                                    \
   foreach_element(8,                                                           \
   {                                                                            \