Changeset 3819


Ignore:
Timestamp:
Apr 13, 2014, 10:24:17 PM (3 years ago)
Author:
ksherdy
Message:

Grouped all b2k idisa operations under a single package.

Location:
proto/s2k/trunk/framework/src/toolchain/b2k/lang/idisa
Files:
12 added
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • proto/s2k/trunk/framework/src/toolchain/b2k/lang/idisa/IDISABuiltin.java

    r3815 r3819  
    2929import java.util.Map;
    3030
    31 import toolchain.b2k.codeGenerator.idisa.AbstractIDISABuiltinGenerator;
    32 import toolchain.b2k.codeGenerator.idisa.SIMDBitblockBuiltinGenerator;
    33 import toolchain.b2k.codeGenerator.idisa.SIMDBitblockImmediateBuiltinGenerator;
    34 import toolchain.b2k.codeGenerator.idisa.SIMDBitblockLoadBuiltinGenerator;
    35 import toolchain.b2k.codeGenerator.idisa.SIMDBitblockStoreBuiltinGenerator;
    36 import toolchain.b2k.codeGenerator.idisa.SIMDBuiltinGenerator;
    37 import toolchain.b2k.codeGenerator.idisa.SIMDConstantBuiltinGenerator;
    38 import toolchain.b2k.codeGenerator.idisa.SIMDLogicBuiltinGenerator;
     31import toolchain.b2k.lang.idisa.AbstractIDISABuiltinGenerator;
     32import toolchain.b2k.lang.idisa.SIMDBitblockBuiltinsGenerator;
     33import toolchain.b2k.lang.idisa.SIMDBitblockImmediateBuiltinsGenerator;
     34import toolchain.b2k.lang.idisa.SIMDBitblockLoadBuiltinsGenerator;
     35import toolchain.b2k.lang.idisa.SIMDBitblockStoreBuiltinsGenerator;
     36import toolchain.b2k.lang.idisa.SIMDBuiltinsGenerator;
     37import toolchain.b2k.lang.idisa.SIMDConstantBuiltinsGenerator;
     38import toolchain.b2k.lang.idisa.SIMDLogicBuiltinsGenerator;
    3939import toolchain.b2k.lang.signatures.ParameterizedFunctionSignature;
    4040import toolchain.b2k.lang.type.Type;
     
    4646import static toolchain.b2k.lang.type.PrimitiveType.BITFIELD;
    4747import static toolchain.b2k.lang.type.PrimitiveType.BOOL;
    48 import static toolchain.b2k.lang.type.PrimitiveType.INTEGERCONSTANT;
     48import static toolchain.b2k.lang.type.PrimitiveType.INTEGER;
    4949import static toolchain.b2k.lang.type.PrimitiveType.VOID;
    5050
     
    5353        // C++: class_name<fw>::op(data_type arg, ...)
    5454        // C:   class_name_op_fw(args...)
    55         ESIMD_MERGEH (          "mergeh",               makeRangeOfSimpleSignatures(1,BITBLOCK_SIZE/2, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    56         ESIMD_MERGEL (          "mergel",               makeRangeOfSimpleSignatures(1,BITBLOCK_SIZE/2, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    57         ESIMD_MULTH (           "multh",                makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    58         ESIMD_MULTL (           "multl",                makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    59         ESIMD_SIGNEXTENDH (     "signextendh",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    60         ESIMD_SIGNEXTENDL (     "signextendl",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    61         ESIMD_ZEROEXTENDH (     "zeroextendh",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    62         ESIMD_ZEROEXTENDL (     "zeroextendl",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    63         HSIMD_ADD_HL (          "add_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    64         HSIMD_MIN_HL (          "min_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    65         HSIMD_PACKH (           "packh",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    66         HSIMD_PACKL (           "packl",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    67         HSIMD_PACKSS (          "packss",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    68         HSIMD_PACKUS (          "packus",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    69         HSIMD_SIGNMASK (        "signmask",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITFIELD)),
    70         HSIMD_UMIN_HL (         "umin_hl",      makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    71         MVMD_FILL (                     "fill",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    72         MVMD_FILL16 (           "fill16",       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
    73         MVMD_FILL2 (            "fill2",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    74         MVMD_FILL4 (            "fill4",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
    75         MVMD_FILL8 (            "fill8",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
     55        ESIMD_MERGEH (          "mergeh",               makeRangeOfSimpleSignatures(1,BITBLOCK_SIZE/2, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     56        ESIMD_MERGEL (          "mergel",               makeRangeOfSimpleSignatures(1,BITBLOCK_SIZE/2, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     57        ESIMD_MULTH (           "multh",                makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     58        ESIMD_MULTL (           "multl",                makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     59        ESIMD_SIGNEXTENDH (     "signextendh",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     60        ESIMD_SIGNEXTENDL (     "signextendl",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     61        ESIMD_ZEROEXTENDH (     "zeroextendh",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     62        ESIMD_ZEROEXTENDL (     "zeroextendl",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     63        HSIMD_ADD_HL (          "add_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     64        HSIMD_MIN_HL (          "min_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     65        HSIMD_PACKH (           "packh",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     66        HSIMD_PACKL (           "packl",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     67        HSIMD_PACKSS (          "packss",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     68        HSIMD_PACKUS (          "packus",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     69        HSIMD_SIGNMASK (        "signmask",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITFIELD)),
     70        HSIMD_UMIN_HL (         "umin_hl",      makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     71        MVMD_FILL (                     "fill",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     72        MVMD_FILL16 (           "fill16",       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
     73        MVMD_FILL2 (            "fill2",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     74        MVMD_FILL4 (            "fill4",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
     75        MVMD_FILL8 (            "fill8",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
    7676        //KH: shuffle dne ?
    7777        //MVMD_SHUFFLE (                "shuffle",      makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    78         SIMD_ABS (                      "abs",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    79         SIMD_ADD (                      "add",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    80         SIMD_ADD_HL (           "add_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    81         SIMD_CTZ (                      "ctz",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    82         SIMD_EQ (                       "eq",           makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    83         SIMD_GT (                       "gt",           makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    84         SIMD_HIMASK (           "himask",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),   BITBLOCK)),
    85         SIMD_IFH (                      "ifh",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
    86         SIMD_LOMASK (           "lomask",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),   BITBLOCK)),
    87         SIMD_LT (                       "lt",           makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    88         SIMD_MAX (                      "max",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    89         SIMD_MIN (                      "min",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    90         SIMD_MULT (                     "mult",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    91         SIMD_NEG (                      "neg",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    92         SIMD_POPCOUNT (         "popcount",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    93         SIMD_SLL (                      "sll",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    94         SIMD_SRA (                      "sra",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    95         SIMD_SRL (                      "srl",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    96         SIMD_SUB (                      "sub",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    97         SIMD_SUB_HL (           "sub_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    98         SIMD_UGT (                      "ugt",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    99         SIMD_ULT (                      "ult",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    100         SIMD_UMAX (                     "umax",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    101         SIMD_UMIN (                     "umin",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    102         SIMD_UMULT (            "umult",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    103         SIMD_XOR_HL (           "xor_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
     78        SIMD_ABS (                      "abs",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     79        SIMD_ADD (                      "add",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     80        SIMD_ADD_HL (           "add_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     81        SIMD_CTZ (                      "ctz",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     82        SIMD_EQ (                       "eq",           makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     83        SIMD_GT (                       "gt",           makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     84        SIMD_HIMASK (           "himask",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),   BITBLOCK)),
     85        SIMD_IFH (                      "ifh",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK, BITBLOCK,  BITBLOCK)),
     86        SIMD_LOMASK (           "lomask",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),   BITBLOCK)),
     87        SIMD_LT (                       "lt",           makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     88        SIMD_MAX (                      "max",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     89        SIMD_MIN (                      "min",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     90        SIMD_MULT (                     "mult",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     91        SIMD_NEG (                      "neg",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     92        SIMD_POPCOUNT (         "popcount",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     93        SIMD_SLL (                      "sll",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     94        SIMD_SRA (                      "sra",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     95        SIMD_SRL (                      "srl",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     96        SIMD_SUB (                      "sub",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     97        SIMD_SUB_HL (           "sub_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     98        SIMD_UGT (                      "ugt",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     99        SIMD_ULT (                      "ult",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     100        SIMD_UMAX (                     "umax",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     101        SIMD_UMIN (                     "umin",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     102        SIMD_UMULT (            "umult",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     103        SIMD_XOR_HL (           "xor_hl",       makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
    104104
    105105        //  KH: Not sure why we initially omitted any, all, vsrl, vsll
    106         SIMD_ANY (              "any",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    107         SIMD_ALL (              "all",          makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    108         SIMD_VRSL(              "vsrl",         makeRangeOfSimpleSignatures(64,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK, BITBLOCK)),             
    109         SIMD_VRLL(              "vsll",         makeRangeOfSimpleSignatures(64,BITBLOCK_SIZE, new SIMDBuiltinGenerator(),  BITBLOCK,  BITBLOCK, BITBLOCK)),
     106        SIMD_ANY (              "any",          makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     107        SIMD_ALL (              "all",          makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     108        SIMD_VRSL(              "vsrl",         makeRangeOfSimpleSignatures(64,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK, BITBLOCK)),           
     109        SIMD_VRLL(              "vsll",         makeRangeOfSimpleSignatures(64,BITBLOCK_SIZE, new SIMDBuiltinsGenerator(),  BITBLOCK,  BITBLOCK, BITBLOCK)),
    110110       
    111111        // SIMD (opPatterns == 1)
    112112        // C++: class_name<fw>::op<x>(data_type arg, ...)
    113113        // C:   class_name_op_fw(data_type arg, ..., x)
    114         MVMD_DSLLI (    "dslli",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,  BITBLOCK,  BITBLOCK,  BITBLOCK)),
    115         MVMD_DSRLI (    "dsrli",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,  BITBLOCK,  BITBLOCK,  BITBLOCK)),
    116         MVMD_EXTRACT (  "extract",      makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,  BITBLOCK,  BITFIELD)),
    117         MVMD_INSERT (   "insert",       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,  BITBLOCK,  BITFIELD, BITBLOCK)),
    118         MVMD_SHUFFLEI ( "shufflei",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,   BITBLOCK,   BITBLOCK)),
    119         MVMD_SLLI (             "slli",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,   BITBLOCK,  BITBLOCK)),
    120         MVMD_SPLAT (    "splat",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT, BITBLOCK, BITBLOCK)),
    121         MVMD_SRLI (             "srli",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT, BITBLOCK,  BITBLOCK)),
    122         SIMD_CONSTANT ( "constant",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,   BITBLOCK)),
    123         SIMD_SLLI (             "slli",         makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,   BITBLOCK,   BITBLOCK)),
    124         SIMD_SRAI (             "srai",         makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,   BITBLOCK,   BITBLOCK)),
    125         SIMD_SRLI (             "srli",         makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinGenerator(),  INTEGERCONSTANT,   BITBLOCK,   BITBLOCK)),
     114        MVMD_DSLLI (    "dslli",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,  BITBLOCK,  BITBLOCK,  BITBLOCK)),
     115        MVMD_DSRLI (    "dsrli",        makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,  BITBLOCK,  BITBLOCK,  BITBLOCK)),
     116        MVMD_EXTRACT (  "extract",      makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,  BITBLOCK,  BITFIELD)),
     117        MVMD_INSERT (   "insert",       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,  BITBLOCK,  BITFIELD, BITBLOCK)),
     118        MVMD_SHUFFLEI ( "shufflei",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,   BITBLOCK,   BITBLOCK)),
     119        MVMD_SLLI (             "slli",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,   BITBLOCK,  BITBLOCK)),
     120        MVMD_SPLAT (    "splat",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER, BITBLOCK, BITBLOCK)),
     121        MVMD_SRLI (             "srli",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER, BITBLOCK,  BITBLOCK)),
     122        SIMD_CONSTANT ( "constant",     makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,   BITBLOCK)),
     123        SIMD_SLLI (             "slli",         makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,   BITBLOCK,   BITBLOCK)),
     124        SIMD_SRAI (             "srai",         makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,   BITBLOCK,   BITBLOCK)),
     125        SIMD_SRLI (             "srli",         makeRangeOfSimpleSignatures(2,BITBLOCK_SIZE, new SIMDConstantBuiltinsGenerator(),  INTEGER,   BITBLOCK,   BITBLOCK)),
    126126               
    127127        // SIMD logic operations (opPattern == 2)
    128128        // C++: simd_op(data_type arg, ...)
    129129        // C:   simd_op(data_type arg, ...)
    130         SIMD_NOR (      "nor",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    131         SIMD_NOT (      "not",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinGenerator(),  BITBLOCK,  BITBLOCK)),
    132         SIMD_ANDC (     "andc", makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    133         SIMD_OR (       "or",   makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    134         SIMD_XOR (      "xor",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    135         SIMD_AND (      "and",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     130        SIMD_NOR (      "nor",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     131        SIMD_NOT (      "not",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinsGenerator(),  BITBLOCK,  BITBLOCK)),
     132        SIMD_ANDC (     "andc", makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     133        SIMD_OR (       "or",   makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     134        SIMD_XOR (      "xor",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
     135        SIMD_AND (      "and",  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDLogicBuiltinsGenerator(),  BITBLOCK, BITBLOCK,  BITBLOCK)),
    136136       
    137137        // SIMD (opPattern == 3)
    138138        // C++: class_name::op(data_type arg, ...)
    139139        // C:   class_name_op(data_type arg, ...)
    140         BITBLOCK_ALL (          "all",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinGenerator(),  BITBLOCK,   BOOL)),
    141         BITBLOCK_ANY (          "any",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinGenerator(),  BITBLOCK,   BOOL)),
    142         BITBLOCK_POPCOUNT (     "popcount",             makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinGenerator(),  BITBLOCK,   BITFIELD)),
    143         BITBLOCK_SLL (          "sll",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinGenerator(),  BITBLOCK,   BITBLOCK,  BITBLOCK)),
    144         BITBLOCK_SRL (          "srl",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinGenerator(),  BITBLOCK,   BITBLOCK,  BITBLOCK)),
     140        BITBLOCK_ALL (          "all",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinsGenerator(),  BITBLOCK,          BOOL)),
     141        BITBLOCK_ANY (          "any",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinsGenerator(),  BITBLOCK,          BOOL)),
     142        BITBLOCK_POPCOUNT (     "popcount",             makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinsGenerator(),  BITBLOCK,          BITFIELD)),
     143        BITBLOCK_SLL (          "sll",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinsGenerator(),  BITBLOCK,  BITBLOCK,  BITBLOCK)),
     144        BITBLOCK_SRL (          "srl",                  makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockBuiltinsGenerator(),  BITBLOCK,  BITBLOCK,  BITBLOCK)),
    145145       
    146146        // SIMD (opPattern == 4)
    147147        // C++: class_name::op<x>(data_type arg, ...)
    148148        // C:   class_name_op(data_type arg, ..., x)
    149         BITBLOCK_SLLI (         "slli"  ,       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockImmediateBuiltinGenerator(),  INTEGERCONSTANT,  BITBLOCK,  BITBLOCK)),
    150         BITBLOCK_SRLI (         "srli"  ,       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockImmediateBuiltinGenerator(),  INTEGERCONSTANT,  BITBLOCK,  BITBLOCK)),
     149        BITBLOCK_SLLI (         "slli"  ,       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockImmediateBuiltinsGenerator(),  INTEGER,  BITBLOCK,  BITBLOCK)),
     150        BITBLOCK_SRLI (         "srli"  ,       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockImmediateBuiltinsGenerator(),  INTEGER,  BITBLOCK,  BITBLOCK)),
    151151       
    152152        // SIMD Stores (with args = (Bitblock, Bitblock*))
    153         BITBLOCK_STORE_ALIGNED (        "store_aligned",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockStoreBuiltinGenerator(),  BITBLOCK, BITBLOCK_POINTER,  VOID)),
    154         BITBLOCK_STORE_UNALIGNED (      "store_unaligned",      makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockStoreBuiltinGenerator(),  BITBLOCK, BITBLOCK_POINTER,  VOID)),
     153        BITBLOCK_STORE_ALIGNED (        "store_aligned",        makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockStoreBuiltinsGenerator(),  BITBLOCK, BITBLOCK_POINTER,  VOID)),
     154        BITBLOCK_STORE_UNALIGNED (      "store_unaligned",      makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockStoreBuiltinsGenerator(),  BITBLOCK, BITBLOCK_POINTER,  VOID)),
    155155       
    156156        // SIMD Loads (with args = Bitblock*)
    157         BITBLOCK_LOAD_ALIGNED (         "load_aligned",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockLoadBuiltinGenerator(),  BITBLOCK_POINTER,  BITBLOCK)),
    158         BITBLOCK_LOAD_UNALIGNED (       "load_unaligned",       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockLoadBuiltinGenerator(),  BITBLOCK_POINTER,  BITBLOCK)),
     157        BITBLOCK_LOAD_ALIGNED (         "load_aligned",         makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockLoadBuiltinsGenerator(),  BITBLOCK_POINTER,  BITBLOCK)),
     158        BITBLOCK_LOAD_UNALIGNED (       "load_unaligned",       makeAllSimpleSignatures(BITBLOCK_SIZE, new SIMDBitblockLoadBuiltinsGenerator(),  BITBLOCK_POINTER,  BITBLOCK)),
    159159
    160160        NULL_BUILTIN("Null");
Note: See TracChangeset for help on using the changeset viewer.