aboutsummaryrefslogtreecommitdiffstats
path: root/ref_vrshl.c
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@st.com>2011-02-08 18:34:04 +0100
committerChristophe Lyon <christophe.lyon@st.com>2011-02-08 18:34:04 +0100
commit8f28f9ab48ec09d6f4cc7458167a7774fc4c4163 (patch)
tree28f59b4b90e4c8757db42d519a4830a4187ac50b /ref_vrshl.c
parenta6b7ca2f54ef1d62bc3b1c7dcd2881cc71b9b2a1 (diff)
downloadplatform_external_arm-neon-tests-8f28f9ab48ec09d6f4cc7458167a7774fc4c4163.tar.gz
platform_external_arm-neon-tests-8f28f9ab48ec09d6f4cc7458167a7774fc4c4163.tar.bz2
platform_external_arm-neon-tests-8f28f9ab48ec09d6f4cc7458167a7774fc4c4163.zip
Add more tests to VRSHL.
Diffstat (limited to 'ref_vrshl.c')
-rw-r--r--ref_vrshl.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/ref_vrshl.c b/ref_vrshl.c
index ec534c0..f97e792 100644
--- a/ref_vrshl.c
+++ b/ref_vrshl.c
@@ -176,6 +176,20 @@ void exec_vrshl (void)
dump_results_hex2 (TEST_MSG, " (checking round_const overflow: shift by -3)");
+ /* Use negative shift amount as large as input vector width */
+ TEST_VDUP(vector_shift, , int, s, 8, 8, -8);
+ TEST_VDUP(vector_shift, , int, s, 16, 4, -16);
+ TEST_VDUP(vector_shift, , int, s, 32, 2, -32);
+ TEST_VDUP(vector_shift, , int, s, 64, 1, -64);
+ TEST_VDUP(vector_shift, q, int, s, 8, 16, -8);
+ TEST_VDUP(vector_shift, q, int, s, 16, 8, -16);
+ TEST_VDUP(vector_shift, q, int, s, 32, 4, -32);
+ TEST_VDUP(vector_shift, q, int, s, 64, 2, -64);
+
+ TEST_MACRO_ALL_VARIANTS_1_5(TEST_VRSHL, int);
+
+ dump_results_hex2 (TEST_MSG, " (checking negative shift amount as large as input vector width)");
+
/* Test large shift amount */
TEST_VDUP(vector_shift, , int, s, 8, 8, 10);
TEST_VDUP(vector_shift, , int, s, 16, 4, 20);