source: trunk/lib_ir/idisa128.hpp @ 3977

Last change on this file since 3977 was 3909, checked in by linmengl, 5 years ago

initial commit of lib_ir

File size: 1.3 KB
Line 
1
2/* Copyright (c) 2011, Hua Huang, Meng Lin and Robert D. Cameron.
3   Licensed under the Academic Free License 3.0.
4   This file is generated by the IDISA+ generator;
5   modifications should be made only by changing the
6   generator configuration and data files. */
7
8#ifndef IDISA128_HPP
9#define IDISA128_HPP
10
11#if defined USE_SSE3
12#include "idisa_cpp/idisa_sse3.cpp"
13#elif defined USE_SSSE3
14#include "idisa_cpp/idisa_ssse3.cpp"
15#elif defined USE_SSE4_1
16#include "idisa_cpp/idisa_sse4_1.cpp"
17#elif defined USE_SSE4_2
18#include "idisa_cpp/idisa_sse4_2.cpp"
19#elif defined USE_NEON
20#include "idisa_cpp/idisa_neon.cpp"
21#else
22#include "idisa_cpp/idisa_sse2.cpp"
23#endif
24               
25#ifndef FIELD_TYPE
26#define FIELD_TYPE     
27template <uint32_t fw> struct FieldType {
28   typedef int T;  //default for FieldType::T is int
29};
30
31template <> struct FieldType<1> {typedef uint8_t T;};
32template <> struct FieldType<2> {typedef uint8_t T;};
33template <> struct FieldType<4> {typedef uint8_t T;};
34template <> struct FieldType<8> {typedef uint8_t T;};
35template <> struct FieldType<16> {typedef uint16_t T;};
36template <> struct FieldType<32> {typedef uint32_t T;};
37template <> struct FieldType<64> {typedef uint64_t T;};
38template <> struct FieldType<128> {typedef uint64_t T;};
39template <> struct FieldType<256> {typedef uint64_t T;};
40#endif
41
42#endif
Note: See TracBrowser for help on using the repository browser.