Пример #1
0
def test_unpack_1():
    op = rop.ResOperation(
        rop.rop.VEC_UNPACK_I,
        [rop.InputArgVector(), ConstInt(0),
         ConstInt(1)])
    assert (op.type, op.is_vector()) == ('i', False)
    op = rop.ResOperation(
        rop.rop.VEC_UNPACK_I,
        [rop.InputArgVector(), ConstInt(0),
         ConstInt(2)])
    assert (op.type, op.is_vector()) == ('i', True)
Пример #2
0
def test_vec_store():
    descr = ArrayDescr(0, 8, None, 'F', concrete_type='f')
    vec = rop.InputArgVector()
    args = [rop.InputArgRef(), ConstInt(0), vec]
    baseop = rop.ResOperation(rop.rop.RAW_STORE, args, descr=descr)
    baseop.set_forwarded(rop.VectorizationInfo(baseop))
    op = rop.VecOperation(rop.rop.VEC_RAW_STORE, args, baseop, 2, descr=descr)
    assert (op.type, op.datatype, op.bytesize, op.is_vector()) == ('v', 'v', 8,
                                                                   True)
Пример #3
0
def test_vec_guard():
    vec = rop.InputArgVector()
    vec.bytesize = 4
    vec.type = vec.datatype = 'i'
    vec.sigend = True
    baseop = rop.ResOperation(rop.rop.GUARD_TRUE, [vec])
    baseop.set_forwarded(rop.VectorizationInfo(baseop))
    op = rop.VecOperation(rop.rop.VEC_GUARD_TRUE, [vec], baseop, 4)
    assert (op.type, op.datatype, op.bytesize, op.is_vector()) == ('v', 'v', 0,
                                                                   False)