aboutsummaryrefslogtreecommitdiffstats
path: root/test/monniaux/binary_search
diff options
context:
space:
mode:
authorDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-06 11:06:35 +0200
committerDavid Monniaux <david.monniaux@univ-grenoble-alpes.fr>2019-04-06 11:06:35 +0200
commite56b4d2b614881e7e582614f53ed88583f2a90a7 (patch)
treea3266a1872fb9766dd942164c3666a786e72ede8 /test/monniaux/binary_search
parentfcd76683e5cc5f8d4b9a2179df6ea1dc9614c39a (diff)
downloadcompcert-kvx-e56b4d2b614881e7e582614f53ed88583f2a90a7.tar.gz
compcert-kvx-e56b4d2b614881e7e582614f53ed88583f2a90a7.zip
hand optimizations
Diffstat (limited to 'test/monniaux/binary_search')
-rw-r--r--test/monniaux/binary_search/binary_search.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/monniaux/binary_search/binary_search.c b/test/monniaux/binary_search/binary_search.c
index 6be80c59..281c94c0 100644
--- a/test/monniaux/binary_search/binary_search.c
+++ b/test/monniaux/binary_search/binary_search.c
@@ -42,8 +42,10 @@ int my_bsearch3 (data *a, index n, data x) {
index i = 0, j = n - 1, k;
while (i <= j) {
k = (i + j) / 2;
- i = TERNARY32(a[k] < x, k+1, i);
- j = TERNARY32(a[k] > x, k-1, j);
+ index kp1 = k+1, km1 = k-1;
+ _Bool lt = a[k] < x, gt = a[k] > x;
+ i = TERNARY32(lt, kp1, i);
+ j = TERNARY32(gt, km1, j);
if (a[k] == x) {
goto end;
}