source: trunk/lib/bitblock256.hpp @ 1503

Last change on this file since 1503 was 1503, checked in by ksherdy, 8 years ago

Initial check in.

File size: 769 bytes
Line 
1/*
2    bitblock256 -
3
4    Idealized SIMD Operations with SSE versions
5    Copyright (C) 2011, Robert D. Cameron, Kenneth S. Herdy, Hua Huang and Nigel Medforth.
6    Licensed to the public under the Open Software License 3.0.
7    Licensed to International Characters Inc.
8       under the Academic Free License version 3.0.
9
10*/
11
12#ifndef BITBLOCK256_HPP_
13#define BITBLOCK256_HPP_
14
15// TODO - Remove include and typedef __m256
16#include <immintrin.h>
17typedef __m256 bitblock256_t;
18
19#define BLOCKSIZE 256
20#include "idisa.hpp"
21#include <stdint.h>
22
23// Integer Conversion
24#define sisd_from_int(n) _mm256_castsi256_ps(_mm256_castsi128_si256(_mm_cvtsi32_si128(n)))
25#define sisd_to_int(x)  _mm_extract_epi32(_mm256_castsi256_si128((__m256i) x), 0)
26
27
28
29#endif /* BITBLOCK256_HPP_ */
Note: See TracBrowser for help on using the repository browser.