Exemplo n.º 1
0
def _set_whole_register_move_register_layouts(aInstruction):
    operand_adjustor = VectorOperandAdjustor(aInstruction)

    reg_count = int(aInstruction.name[3])

    dest_opr = aInstruction.find_operand("vd")
    operand_adjustor.set_whole_register_layout(dest_opr, aRegCount=reg_count)
    src_opr = aInstruction.find_operand("vs2")
    operand_adjustor.set_whole_register_layout(src_opr, aRegCount=reg_count)
Exemplo n.º 2
0
def _set_whole_register_load_store_register_layouts(aInstruction):
    operand_adjustor = VectorOperandAdjustor(aInstruction)

    reg_count = int(aInstruction.name[2])

    elem_width = 8
    if aInstruction.name[4] == "E":
        width_end_index = aInstruction.name.find(".")
        elem_width = int(aInstruction.name[5:width_end_index])

    src_dest_opr = _get_source_or_destination_operand(aInstruction)
    operand_adjustor.set_whole_register_layout(
        src_dest_opr, aRegCount=reg_count, aElemWidth=elem_width
    )
Exemplo n.º 3
0
def _set_mask_load_store_register_layouts(aInstruction):
    operand_adjustor = VectorOperandAdjustor(aInstruction)

    src_dest_opr = _get_source_or_destination_operand(aInstruction)
    operand_adjustor.set_whole_register_layout(src_dest_opr, aRegCount=1)