World Library  
Flag as Inappropriate
Email this Article
 

Sse3

SSE3, Streaming SIMD Extensions 3, also known by its Intel code name Prescott New Instructions (PNI), is the third iteration of the SSE instruction set for the IA-32 (x86) architecture. Intel introduced SSE3 in early 2004 with the Prescott revision of their Pentium 4 CPU. In April 2005, AMD introduced a subset of SSE3 in revision E (Venice and San Diego) of their Athlon 64 CPUs. The earlier SIMD instruction sets on the x86 platform, from oldest to newest, are MMX, 3DNow! (developed by AMD), SSE and SSE2.

SSE3 contains 13 new instructions over SSE2.

Contents

  • Changes 1
  • CPUs with SSE3 2
  • New instructions 3
    • Common instructions 3.1
    • Intel instructions 3.2
  • External links 4

Changes

The most notable change is the capability to work horizontally in a register, as opposed to the more or less strictly vertical operation of all previous SSE instructions. More specifically, instructions to add and subtract the multiple values stored within a single register have been added. These instructions can be used to speed up the implementation of a number of DSP and 3D operations. There is also a new instruction to convert floating point values to integers without having to change the global rounding mode, thus avoiding costly pipeline stalls. Finally, the extension adds LDDQU, an alternative misaligned integer vector load that has better performance on NetBurst based platforms for loads that cross cacheline boundaries.

CPUs with SSE3

New instructions

Common instructions

Arithmetic

  • ADDSUBPD — (Add-Subtract-Packed-Double)
    • Input: { A0, A1 }, { B0, B1 }
    • Output: { A0 − B0, A1 + B1 }
  • ADDSUBPS — (Add-Subtract-Packed-Single)
    • Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
    • Output: { A0 − B0, A1 + B1, A2 − B2, A3 + B3 }

AOS ( Array Of Structures )

  • HADDPD — (Horizontal-Add-Packed-Double)
    • Input: { A0, A1 }, { B0, B1 }
    • Output: { A0 + A1, B0 + B1 }
  • HADDPS (Horizontal-Add-Packed-Single)
    • Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
    • Output: { A0 + A1, A2 + A3, B0 + B1, B2 + B3 }
  • HSUBPD — (Horizontal-Subtract-Packed-Double)
    • Input: { A0, A1 }, { B0, B1 }
    • Output: { A0 − A1, B0 − B1 }
  • HSUBPS — (Horizontal-Subtract-Packed-Single)
    • Input: { A0, A1, A2, A3 }, { B0, B1, B2, B3 }
    • Output: { A0 − A1, A2 − A3, B0 − B1, B2 − B3 }
  • LDDQU — As stated above, this is an alternative misaligned integer vector load. It can be helpful for video compression tasks.
  • MOVDDUP, MOVSHDUP, MOVSLDUP — These are useful for complex numbers and wave calculation like sound.
  • FISTTP — Like the older x87 FISTP instruction, but ignores the floating point control register's rounding mode settings and uses the "chop" (truncate) mode instead. Allows omission of the expensive loading and re-loading of the control register in languages such as C where float-to-int conversion requires truncate behaviour by standard.

Intel instructions

  • MONITOR, MWAIT - These optimize multi-threaded applications, giving processors with Hyper-Threading better performance.

External links

  • X-bit Labs
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.