view test/test.cc @ 19:4de858e14464

sse2: implement equality operators
author Paper <paper@tflc.us>
date Fri, 22 Nov 2024 23:03:34 -0500
parents 41dd962abdd1
children
line wrap: on
line source

#define VEC_IMPLEMENTATION
#include "vec/vec.h"

#include <iostream>

/* this test makes sure that vec can be included under C++ */
int main(void)
{
	int ret = 0;

	VUINT32x8_ALIGNED_ARRAY(varrin);
	VUINT32x8_ALIGNED_ARRAY(varrout);

	for (int i = 0; i < 8; i++)
		varrin[i] = i;

	vuint32x8 vec = vuint32x8_load_aligned(varrin);
	vec = vuint32x8_add(vec, vec);

	vuint32x8_store_aligned(vec, varrout);

	for (int i = 0; i < 8; i++)
		if (varrout[i] != (uint32_t)(varrin[i] + varrin[i]))
			ret |= 1;

	return ret;
}