Пример #1
0
class Rsqrt8(Operator):
    full_name = 'square root with relative error at most $2^{-8}$'
    signature = 'v rsqrt8 v'
    types = common.ftypes
    domain = Domain('[0,Inf)')
    categories = [DocBasicArithmetic]
    tests_ulps = {'f16':'8', 'f32':'8', 'f64':'8'}
Пример #2
0
class Rec8(Operator):
    full_name = 'reciprocal with relative error at most 2^{-8}'
    signature = 'v rec8 v'
    types = common.ftypes
    categories = [DocBasicArithmetic]
    domain = Domain('R\{0}')
    tests_ulps = common.ulps_from_relative_distance_power(8)
Пример #3
0
class Rsqrt8(Operator):
    full_name = 'square root with relative error at most $2^{-8}$'
    signature = 'v rsqrt8 v'
    types = common.ftypes
    domain = Domain('[0,Inf)')
    categories = [DocBasicArithmetic]
    tests_ulps = common.ulps_from_relative_distance_power(8)
Пример #4
0
class Trunc(Operator):
    full_name = 'rounding towards zero to integer value'
    signature = 'v trunc v'
    domain = Domain('R')
    categories = [DocRounding]
    bench_auto_against_sleef = True
    bench_auto_against_std = True
Пример #5
0
class Any(Operator):
    full_name = 'check for one true elements'
    signature = 'p any l'
    domain = Domain('B')
    categories = [DocMisc]
    desc = 'Return true if and only if at least one element of the inputs ' + \
           'is true.'
Пример #6
0
class Ceil(Operator):
    full_name = 'rounding up to integer value'
    signature = 'v ceil v'
    domain = Domain('R')
    categories = [DocRounding]
    bench_auto_against_sleef = True
    bench_auto_against_std = True
Пример #7
0
class Floor(Operator):
    full_name = 'rounding down to integer value'
    signature = 'v floor v'
    domain = Domain('R')
    categories = [DocRounding]
    bench_auto_against_sleef = True
    bench_auto_against_std = True
Пример #8
0
class Rsqrt11(Operator):
    full_name = 'square root'
    signature = 'v rsqrt11 v'
    types = common.ftypes
    domain = Domain('[0,Inf)')
    categories = [DocBasicArithmetic]
    tests_ulps = True
Пример #9
0
class Shra(Operator):
    full_name = 'arithmetic right shift'
    signature = 'v shra v p'
    types = common.iutypes
    domain = Domain('R+xN')
    categories = [DocBitsOperators]
    desc = 'Performs a right shift operation with sign extension.'
Пример #10
0
class Cvt(Operator):
    signature = 'v cvt v'
    output_to = common.OUTPUT_TO_SAME_SIZE_TYPES
    domain = Domain('R')
    categories = [DocConversion]
    ## Disable bench
    do_bench = False
Пример #11
0
class Rec11(Operator):
    full_name = 'reciprocal with relative error at most 2^{-11}'
    signature = 'v rec11 v'
    types = common.ftypes
    categories = [DocBasicArithmetic]
    domain = Domain('R\{0}')
    tests_ulps = True
Пример #12
0
class Reinterpretl(Operator):
    signature = 'l reinterpretl l'
    domain = Domain('B')
    categories = [DocConversion]
    output_to = common.OUTPUT_TO_SAME_SIZE_TYPES
    ## Disable bench
    do_bench = False
Пример #13
0
class Unziphi(Operator):
    full_name = 'unziphi'
    signature = 'v unziphi v v'
    types = common.types
    domain = Domain('R')
    categories = [DocMisc]
    do_bench = False
Пример #14
0
class Ziplo(Operator):
    full_name = 'ziplo'
    signature = 'v ziplo v v'
    types = common.types
    domain = Domain('R')
    categories = [DocMisc]
    do_bench = False
Пример #15
0
class Store2u(Operator):
    signature = '_ store2u * v v'
    load_store = True
    domain = Domain('RxR')
    categories = [DocLoadStore]
    desc = 'Store 2 SIMD vectors as array of structures of 2 members into ' + \
           'unaligned memory.'
Пример #16
0
class Unzip(Operator):
    full_name = 'unzip'
    signature = 'vx2 unzip v v'
    types = common.types
    fomain = Domain('R')
    categories = [DocShuffle]
    do_bench = False
Пример #17
0
class Neg(Operator):
    full_name = 'opposite'
    signature = 'v neg v'
    cxx_operator = '-'
    domain = Domain('R')
    categories = [DocBasicArithmetic]
    bench_auto_against_std = True
Пример #18
0
class Andl(Operator):
    full_name = 'logical and'
    signature = 'l andl l l'
    cxx_operator = '&&'
    domain = Domain('BxB')
    categories = [DocLogicalOperators]
    bench_auto_against_std = True
Пример #19
0
class Rec8(Operator):
    full_name = 'reciprocal with relative error at most 2^{-8}'
    signature = 'v rec8 v'
    types = common.ftypes
    categories = [DocBasicArithmetic]
    domain = Domain('R\{0}')
    tests_ulps = {'f16':'8', 'f32':'8', 'f64':'8'}
Пример #20
0
class Notl(Operator):
    full_name = 'logical not'
    signature = 'l notl l'
    cxx_operator = '!'
    domain = Domain('B')
    categories = [DocLogicalOperators]
    bench_auto_against_std = True
Пример #21
0
class Orl(Operator):
    full_name = 'logical or'
    signature = 'l orl l l'
    cxx_operator = '||'
    domain = Domain('BxB')
    categories = [DocLogicalOperators]
    bench_auto_against_std = True
Пример #22
0
class Div(Operator):
    full_name = 'division'
    signature = 'v div v v'
    cxx_operator = '/'
    domain = Domain('RxR\{0}')
    categories = [DocBasicArithmetic]
    bench_auto_against_std = True
    bench_auto_against_mipp = True
Пример #23
0
class Mul(Operator):
    full_name = 'multiplication'
    signature = 'v mul v v'
    cxx_operator = '*'
    domain = Domain('RxR')
    categories = [DocBasicArithmetic]
    bench_auto_against_std = True
    bench_auto_against_mipp = True
Пример #24
0
class Addv(Operator):
    full_name = 'horizontal sum'
    signature = 's addv v'
    domain = Domain('R')
    categories = [DocMisc]
    desc = 'Returns the sum of all the elements contained in v'
    do_bench = False
    types = common.ftypes
Пример #25
0
class Sub(Operator):
    full_name = 'subtraction'
    signature = 'v sub v v'
    cxx_operator = '-'
    domain = Domain('RxR')
    categories = [DocBasicArithmetic]
    bench_auto_against_std = True
    bench_auto_against_mipp = True
Пример #26
0
class Add(Operator):
    full_name = 'addition'
    signature = 'v add v v'
    cxx_operator = '+'
    domain = Domain('RxR')
    categories = [DocBasicArithmetic]
    bench_auto_against_std = True
    bench_auto_against_mipp = True
Пример #27
0
class Xorb(Operator):
    full_name = 'bitwise xor'
    signature = 'v xorb v v'
    cxx_operator = '^'
    domain = Domain('RxR')
    categories = [DocBitsOperators]
    #bench_auto_against_std = True ## TODO: Add check to floating-types
    bench_auto_against_mipp = True
Пример #28
0
class Notb(Operator):
    full_name = 'bitwise not'
    signature = 'v notb v'
    cxx_operator = '~'
    domain = Domain('R')
    categories = [DocBitsOperators]
    #bench_auto_against_std = True ## TODO: Add check to floating-types
    bench_auto_against_mipp = True
Пример #29
0
class Storela(Operator):
    full_name = 'store vector of logicals'
    signature = '_ storela * l'
    load_store = True
    categories = [DocLoadStore]
    domain = Domain('R')
    desc = 'Store SIMD vector of booleans into aligned memory. True is ' + \
           'stored as 1 and False as 0.'
Пример #30
0
class Store4a(Operator):
    full_name = 'store into array of structures'
    signature = '_ store4a * v v v v'
    load_store = True
    domain = Domain('RxRxRxR')
    categories = [DocLoadStore]
    desc = 'Store 4 SIMD vectors as array of structures of 4 members into ' + \
           'aligned memory.'