summary refs log tree commit diff stats
path: root/tests/fp/fp-bench.c
diff options
context:
space:
mode:
authorEmilio G. Cota <cota@braap.org>2018-12-21 14:51:59 -0500
committerAlex Bennée <alex.bennee@linaro.org>2019-01-22 20:47:44 +0000
commit446cfb0d3487a630ab52efe35977dec24a6db384 (patch)
tree12fd98fc858825036336100574c62de8a4c66136 /tests/fp/fp-bench.c
parent952bc8b3c2cbba78261923a1e8ca55cda261dee9 (diff)
downloadfocaccia-qemu-446cfb0d3487a630ab52efe35977dec24a6db384.tar.gz
focaccia-qemu-446cfb0d3487a630ab52efe35977dec24a6db384.zip
fp-bench: fix update_random_ops
The second test in the branches is wrong; fix while converting
to a switch statement, which is easier to get right.

Signed-off-by: Emilio G. Cota <cota@braap.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Diffstat (limited to 'tests/fp/fp-bench.c')
-rw-r--r--tests/fp/fp-bench.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/tests/fp/fp-bench.c b/tests/fp/fp-bench.c
index f5bc5edebf..546bac9c9c 100644
--- a/tests/fp/fp-bench.c
+++ b/tests/fp/fp-bench.c
@@ -143,15 +143,20 @@ static void update_random_ops(int n_ops, enum precision prec)
     for (i = 0; i < n_ops; i++) {
         uint64_t r = random_ops[i];
 
-        if (prec == PREC_SINGLE || PREC_FLOAT32) {
+        switch (prec) {
+        case PREC_SINGLE:
+        case PREC_FLOAT32:
             do {
                 r = xorshift64star(r);
             } while (!float32_is_normal(r));
-        } else if (prec == PREC_DOUBLE || PREC_FLOAT64) {
+            break;
+        case PREC_DOUBLE:
+        case PREC_FLOAT64:
             do {
                 r = xorshift64star(r);
             } while (!float64_is_normal(r));
-        } else {
+            break;
+        default:
             g_assert_not_reached();
         }
         random_ops[i] = r;