================
@@ -822,3 +822,19 @@ static_assert(__builtin_elementwise_bitreverse(0x12345678) 
== 0x1E6A2C48);
 static_assert(__builtin_elementwise_bitreverse(0x0123456789ABCDEFULL) == 
0xF7B3D591E6A2C480);
 static_assert(__builtin_bit_cast(unsigned, 
__builtin_elementwise_bitreverse((vector4char){1, 2, 4, 8})) == (LITTLE_END ? 
0x10204080 : 0x80402010));
 static_assert(__builtin_bit_cast(unsigned long long, 
__builtin_elementwise_bitreverse((vector4short){1, 2, 4, 8})) == (LITTLE_END ? 
0x1000200040008000 : 0x8000400020001000));
+
+static_assert(__builtin_elementwise_add_sat(1, 2) == 3);
+static_assert(__builtin_elementwise_add_sat(1U, 2U) == 3U);
+static_assert(__builtin_elementwise_add_sat(~(1 << 31), 42) == ~(1 << 31));
+static_assert(__builtin_elementwise_add_sat((1 << 31), -42) == (1 << 31));
+static_assert(__builtin_elementwise_add_sat(~0U, 1U) == ~0U);
+static_assert(__builtin_bit_cast(unsigned, 
__builtin_elementwise_add_sat((vector4char){1, 2, 3, 4}, (vector4char){4, 3, 2, 
1})) == (LITTLE_END ? 0x05050505 : 0x05050505));
----------------
RKSimon wrote:

Avoid uniform vector results to better show each element is working.

https://github.com/llvm/llvm-project/pull/119082
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to