/*
 * Copyright 2010-2015 Branimir Karadzic. All rights reserved.
 * License: https://github.com/bkaradzic/bx/blob/master/LICENSE
 */

#ifndef BX_SIMD_T_H_HEADER_GUARD
#	error "xmacro file, must be included from simd_*.h"
#endif // BX_FLOAT4_T_H_HEADER_GUARD

// included from float4_t.h
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, x, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, z)
// BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, y, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, z, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(x, w, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, x, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, y, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, z, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(y, w, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, x, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, y, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, z, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(z, w, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, x, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, y, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, z, w, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, x, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, y, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, z, w)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, x)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, y)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, z)
BX_SIMD128_IMPLEMENT_SWIZZLE(w, w, w, w)
