From c1cc7826d74587e0dc1c855810633a219b161ab3 Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Tue, 20 Jan 2015 16:04:24 +0100 Subject: __set_neon_cumulative_sat() modifies the contents on the QC flag, and some intrinsics do so too: this patch adds the explicit dependency on the asm statement, to avoid code reordering or removal. When writing QC, the asm statement now has a fake input dependency, which is the output of the intrinsic being tested. Modifying the __set_neon_cumulative_sat macro is necessary, to be able to accept all the possible input types. Update the generic code in ref_v_binary_sat_op.c and ref_v_unary_sat_op.c accordingly, as well as all the tests involving QC. --- ref_vqdmull_lane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ref_vqdmull_lane.c') diff --git a/ref_vqdmull_lane.c b/ref_vqdmull_lane.c index b2ee183..bf92c6b 100644 --- a/ref_vqdmull_lane.c +++ b/ref_vqdmull_lane.c @@ -42,7 +42,7 @@ FNNAME (INSN) /* vector_res = vqdmull_lane(vector,vector2,lane), then store the result. */ #define TEST_VQDMULL_LANE2(INSN, T1, T2, W, W2, N, L) \ - Set_Neon_Cumulative_Sat(0); \ + Set_Neon_Cumulative_Sat(0, VECT_VAR(vector_res, T1, W2, N)); \ VECT_VAR(vector_res, T1, W2, N) = \ INSN##_lane_##T2##W(VECT_VAR(vector, T1, W, N), \ VECT_VAR(vector2, T1, W, N), \ -- cgit v1.2.3