Claims
- 1. A microprocessor which includes an apparatus for performing a packed shift operation on a first packed data having a first plurality of values, said apparatus comprising:
a barrel shifter, said barrel shifter shifting said first packed data to produce a second packed data having a second plurality of values, each of said second plurality of values having a second plurality of bits, a portion of at least one of said second plurality of bits being shifted into another of said second plurality of bits; a first bus coupled to said barrel having a second plurality of bits, each of said second plurality of bits being a replacement bit for a corresponding one of said second plurality of values; a correction circuit having a third bus containing a third plurality of bits; and a first plurality of muxes, each of said first plurality of muxes having a first input coupled to said barrel shifter, a second input coupled to said second bus, a select input coupled to said third bus and an output, each output corresponding to a bit of a shifted packed result.
- 2. The microprocessor of claim 1 further comprising a second plurality of muxes, each of said second plurality of muxes having a plurality of inputs, at least one of said plurality of inputs corresponding to a zero bit, each of said second plurality of muxes coupled to a corresponding one of said second plurality of bits.
- 3. The microprocessor of claim 1 further comprising a second plurality of muxes, each of said second plurality of muxes having a plurality of inputs, at least one of said plurality of inputs corresponding to a sign bit, each of said second plurality of muxes coupled to a corresponding one of said second plurality of bits.
- 4. The microprocessor of claim 1 wherein said correction circuit comprises:
a fourth plurality of bits, said fourth plurality of bits indicating a shift count, a first circuit coupled to at least a portion of said fourth plurality of bits having a fifth bus containing a fifth plurality of bits, said fifth plurality of bits having a field of bits having one logic value that comprises a number of bits corresponding to said shift count; and a second circuit coupled to said fifth bus, said second circuit comprising logic to transpose portions of said fifth plurality of bits to produce transposed portions of said fifth plurality of bits and logic to replicate portions of said fifth plurality of bits and transposed portions of said fifth plurality of bits, said second circuit being coupled to said third plurality of bits.
- 5. The microprocessor of claim 1 wherein said correction circuit comprises:
a fourth plurality of bits, said fourth plurality of bits indicating a shift count; and a first circuit coupled to a portion of said fourth plurality of bits for driving said third plurality of bits to all ones when at least one bit of said portion of said fourth plurality of bits is a one.
- 6. A circuit for performing a packed shift operation on a first packed data having a first plurality of values, said circuit comprising:
a barrel shifter, said barrel shifter shifting said first packed data to produce a second packed data having a second plurality of values, each of said second plurality of values having a second plurality of bits, a portion of at least one of said second plurality of bits being shifted into another of said second plurality of bits; a second bus having a second plurality of bits, each of said second plurality of bits being a replacement bit for a corresponding one of said second plurality of values; a correction circuit having a third bus third plurality of bits; and a first plurality of muxes, each of said first plurality of muxes having a first input coupled to said barrel shifter, a second input coupled to said second bus, a select input coupled to said third bus and an output, each output corresponding to a bit of a shifted packed result.
- 7. The circuit of claim 6 further comprising a second plurality of muxes, each of said second plurality of muxes having a plurality of inputs, at least one of said plurality of inputs corresponding to a zero bit, each of said second plurality of muxes coupled to a corresponding one of said second plurality of bits.
- 8. The circuit of claim 7 further comprising a second plurality of muxes, each of said second plurality of muxes having a plurality of inputs, at least one of said plurality of inputs corresponding to a sign bit, each of said second plurality of muxes coupled to a corresponding one of said second plurality of bits.
- 9. The circuit of claim 6 wherein said correction circuit comprises:
a fourth plurality of bits, said fourth plurality of bits indicating a shift count, a first circuit coupled to at least a portion of said first circuit having a fifth bus containing a fifth plurality of bits, said fifth plurality of bits having a field of bits having one logic value that comprises a number of bits corresponding to said shift count; a second circuit coupled to said fifth bus, said second circuit comprising logic to transpose portions of said fifth plurality of bits to produce transposed portions of said fifth plurality of bits and logic to replicate portions of said fifth plurality of bits and transposed portions of said fifth plurality of bits, said second circuit being coupled to said third plurality of bits.
- 10. The circuit of claim 6 wherein said correction circuit comprises:
a fourth plurality of bits, said fourth plurality of bits indicating a shift count; and a first circuit coupled to a portion of said fourth plurality of bits for driving said third plurality of bits to all ones when at least one bit of said portion of said fourth plurality of bits is a one.
RELATED APPLICATIONS
[0001] This is a continuation-in-part of application Ser. No. 08/349,730 filed Dec. 1, 1994 by Alexander Peleg, Yaakov Yaari, Millind Mittal, Larry M. Mennemeier, and Benny Eitan, and which is assigned to the assignee of the present invention.
Continuations (1)
|
Number |
Date |
Country |
Parent |
08610495 |
Mar 1996 |
US |
Child |
09747122 |
Dec 2000 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
08349730 |
Dec 1994 |
US |
Child |
08610495 |
Mar 1996 |
US |