test_zc.c 550 B

12345678910111213141516171819202122232425262728
  1. #include <stdlib.h>
  2. #include "ctest.h"
  3. #include "nuclei_sdk_soc.h"
  4. static void test_loop(int loop)
  5. {
  6. for (volatile int i = 0; i < loop; i ++) {
  7. }
  8. }
  9. __attribute__((optimize("-Os"))) static int test_cmpopretz(void *a0, int mode, int *addr)
  10. {
  11. if (mode == 2) {
  12. test_loop((int)a0);
  13. }
  14. return 0;
  15. }
  16. CTEST(arch_zc, zcmp)
  17. {
  18. int ret;
  19. ret = test_cmpopretz((void *)0x01234567, 3, (int *)0x87654321);
  20. ASSERT_EQUAL(ret, 0);
  21. ret = test_cmpopretz((void *)0x01234567, 2, (int *)0x87654321);
  22. ASSERT_EQUAL(ret, 0);
  23. }