diff options
author | Christophe Lyon <christophe.lyon@st.com> | 2013-01-17 17:23:11 +0100 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@st.com> | 2013-01-17 17:51:15 +0100 |
commit | 01af0a532c91523692d7b32ed08e0aace8123cba (patch) | |
tree | 199360c2ab91c91a7c1382c676982a09ea251ef2 /ref_vldX_lane.c | |
parent | 302cedf48e55284564aae5256adfdebb1a7a6a0c (diff) | |
download | platform_external_arm-neon-tests-01af0a532c91523692d7b32ed08e0aace8123cba.tar.gz platform_external_arm-neon-tests-01af0a532c91523692d7b32ed08e0aace8123cba.tar.bz2 platform_external_arm-neon-tests-01af0a532c91523692d7b32ed08e0aace8123cba.zip |
Reorganize input data buffer to try to detect some out of bounds accesses.
Add dedicated input for vdup, vld1_dup, vldX, vldX_dup, vldX_lane, vstX_lane.
Diffstat (limited to 'ref_vldX_lane.c')
-rw-r--r-- | ref_vldX_lane.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ref_vldX_lane.c b/ref_vldX_lane.c index 0b86971..7ad3d31 100644 --- a/ref_vldX_lane.c +++ b/ref_vldX_lane.c @@ -53,7 +53,8 @@ void exec_vldX_lane (void) vld##X##Q##_##T2##W(VECT_VAR(buffer_src, T1, W, N)); \ \ VECT_ARRAY_VAR(vector, T1, W, N, X) = \ - vld##X##Q##_lane_##T2##W(VECT_VAR(buffer, T1, W, N), \ + /* Use dedicated init buffer, of size X */ \ + vld##X##Q##_lane_##T2##W(VECT_VAR(buffer_vld##X##_lane, T1, W, X), \ VECT_ARRAY_VAR(vector_src, T1, W, N, X), \ L); \ vst##X##Q##_##T2##W(VECT_VAR(result_bis_##X, T1, W, N), \ @@ -85,7 +86,13 @@ void exec_vldX_lane (void) DECL_VLDX_LANE(float, 32, 2, X); \ DECL_VLDX_LANE(float, 32, 4, X) -#define DUMMY_ARRAY(V, T, W, N, L) VECT_VAR_DECL(V,T,W,N)[N*L] + /* Add some padding to try to catch out of bound accesses. */ + /* Use an array instead of a plain char to comply with rvct + constraints. */ +#define ARRAY1(V, T, W, N) VECT_VAR_DECL(V,T,W,N)[1]={42} +#define DUMMY_ARRAY(V, T, W, N, L) \ + VECT_VAR_DECL(V,T,W,N)[N*L]={0}; \ + ARRAY1(V##_pad,T,W,N) /* Use the same lanes regardless of the size of the array (X), for simplicity */ |