diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2014-02-28 16:03:04 -0800 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-03-01 20:15:59 +0000 |
commit | e381585619778c4952ada5f3118ec4fcf304eb66 (patch) | |
tree | 412fadab6f9d52a25fe328bc5f6e34cddbf88d04 /include/test_util.h | |
parent | a35bfd69e9a749fbaa152937dd91a6ed407a9005 (diff) | |
download | chrome-ec-e381585619778c4952ada5f3118ec4fcf304eb66.tar.gz |
Optimize memset
This speeds up memset by copying a word at a time.
Ran the unit test on Peppy:
> runtest
...
Running test_memset... (speed gain: 141532 -> 32136 us) OK
...
Ran make buildall:
...
Running test_memset... (speed gain: 1338 -> 280 us) OK
...
TEST=Described above.
BUG=chrome-os-partner:23720
BRANCH=none
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Change-Id: If34b06ad70f448d950535a4bea4f6556627a9b6f
Tested-by: Daisuke Nojiri <dnojiri@google.com>
Reviewed-on: https://chromium-review.googlesource.com/185936
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Commit-Queue: Daisuke Nojiri <dnojiri@google.com>
Diffstat (limited to 'include/test_util.h')
-rw-r--r-- | include/test_util.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/test_util.h b/include/test_util.h index 4f76a200c4..f8f50fcc76 100644 --- a/include/test_util.h +++ b/include/test_util.h @@ -58,6 +58,19 @@ } \ } while (0) +#define TEST_ASSERT_MEMSET(d, c, n) \ + do { \ + int __i; \ + for (__i = 0; __i < n; ++__i) \ + if ((d)[__i] != (c)) { \ + ccprintf("%d: ASSERT_MEMSET failed at " \ + "index=%d: %d != %d\n", __LINE__, \ + __i, (int)(d)[__i], (c)); \ + task_dump_trace(); \ + return EC_ERROR_UNKNOWN; \ + } \ + } while (0) + #define TEST_CHECK(n) \ do { \ if (n) \ |