Integer multiply operations using data stored in an integer register file
are performed using multi-media primitive instructions that operate on
smaller operands. The present invention performs a multiply operation on a
32-bit or 64-bit value by performing multiply operations on a series of
smaller operands to form partial products, and adding the partial products
together. Data manipulation instructions are used to reposition 16-bit
segments of the 32-bit operands into positions that allow the multi-media
parallel multiply instructions to compute partial products, and the
partial products are then added together to form the result. In every
embodiment, the present invention achieves better latencies than the prior
art method of performing integer multiply operations provided by the IA-64
architecture.
O inteiro multiplica as operações que usam os dados armazenados em uma lima do registo do inteiro é executado usando as instruções primitivas multi-media que operam sobre operandos menores. A invenção atual executa uma operação multiplicar em um 32-bit ou o valor 64-bit executando multiplica operações em uma série de operandos menores para dar forma a produtos parciais, e a adicionar os produtos parciais junto. As instruções da manipulação de dados são usadas para reposicionar segmentos 16-bit dos operandos 32-bit nas posições que permitem a paralela multi-media multiplicam instruções para computar produtos parciais, e os produtos parciais são adicionados então junto para dar forma ao resultado. Em cada incorporação, a invenção atual consegue latências melhores do que o método da arte prévia de executar o inteiro multiplica as operações fornecidas pela arquitetura IA-64.