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)
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)
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)