diff --git a/tests/testCbrt.c b/tests/testCbrt.c
index 430f49e464575a51a39ef277668118a9c79ff487..1b535c135e637a5585e64ff3ee6848c5b708a54d 100644
--- a/tests/testCbrt.c
+++ b/tests/testCbrt.c
@@ -50,7 +50,8 @@ int main(int argc, char *argv[]) {
   message("executing %i runs of each command.", num_vals);
 
   /* Create and fill an array of floats. */
-  float *volatile data = (float *)malloc(sizeof(float) * num_vals);
+  float *data;
+  posix_memalign((void **)&data, 64, num_vals*sizeof(float));
   for (int k = 0; k < num_vals; k++) {
     data[k] = (float)rand() / RAND_MAX;
     data[k] = (1.0f - data[k]) * range_min + data[k] * range_max;