summary refs log tree commit diff stats
path: root/tests/tcg/hexagon/dual_stores.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcg/hexagon/dual_stores.c')
-rw-r--r--tests/tcg/hexagon/dual_stores.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/tests/tcg/hexagon/dual_stores.c b/tests/tcg/hexagon/dual_stores.c
index a86a381ab9..775458e0fc 100644
--- a/tests/tcg/hexagon/dual_stores.c
+++ b/tests/tcg/hexagon/dual_stores.c
@@ -1,5 +1,5 @@
 /*
- *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
+ *  Copyright(c) 2019-2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -16,13 +16,18 @@
  */
 
 #include <stdio.h>
+#include <stdint.h>
+
+int err;
+
+#include "hex_test.h"
 
 /*
  *  Make sure that two stores in the same packet honor proper
  *  semantics: slot 1 executes first, then slot 0.
  *  This is important when the addresses overlap.
  */
-static inline void dual_stores(int *p, char *q, int x, char y)
+static inline void dual_stores(int32_t *p, int8_t *q, int32_t x, int8_t y)
 {
   asm volatile("{\n\t"
                "    memw(%0) = %2\n\t"
@@ -33,27 +38,17 @@ static inline void dual_stores(int *p, char *q, int x, char y)
 }
 
 typedef union {
-    int word;
-    char byte;
+    int32_t word;
+    int8_t byte;
 } Dual;
 
-int err;
-
-static void check(Dual d, int expect)
-{
-    if (d.word != expect) {
-        printf("ERROR: 0x%08x != 0x%08x\n", d.word, expect);
-        err++;
-    }
-}
-
 int main()
 {
     Dual d;
 
     d.word = ~0;
     dual_stores(&d.word, &d.byte, 0x12345678, 0xff);
-    check(d, 0x123456ff);
+    check32(d.word, 0x123456ff);
 
     puts(err ? "FAIL" : "PASS");
     return err;