Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. MMX (or other) enabled runtime libraries.

MMX (or other) enabled runtime libraries.

Scheduled Pinned Locked Moved C / C++ / MFC
questioncsharpdotnetjsonannouncement
4 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    jpg642
    wrote on last edited by
    #1

    My code is performing a lot of text parsing functions and I am looking at ways to optimize the code. Does any version of the microsoft run time libraries use MMX extensions if they are available? I guess the same question applies to the .NET framework as well.

    M 1 Reply Last reply
    0
    • J jpg642

      My code is performing a lot of text parsing functions and I am looking at ways to optimize the code. Does any version of the microsoft run time libraries use MMX extensions if they are available? I guess the same question applies to the .NET framework as well.

      M Offline
      M Offline
      Matthew Faithfull
      wrote on last edited by
      #2

      A lot of MMX functions, 128 bit math and the like are intrinsics in the Visual Studio compilers, they are enabled by linking with the MSVCRT runtime but you don't need it to use them. They're also not especially well documented, search MSDN for intrinsics and keep digging. :)

      Nothing is exactly what it seems but everything with seems can be unpicked.

      J 1 Reply Last reply
      0
      • M Matthew Faithfull

        A lot of MMX functions, 128 bit math and the like are intrinsics in the Visual Studio compilers, they are enabled by linking with the MSVCRT runtime but you don't need it to use them. They're also not especially well documented, search MSDN for intrinsics and keep digging. :)

        Nothing is exactly what it seems but everything with seems can be unpicked.

        J Offline
        J Offline
        jpg642
        wrote on last edited by
        #3

        I should have phrased my question better - what I meant was are functions such as strstr optimized for MMX? Having searched a bit more Intel provide a library Intel Performance Primitives which may offer some hope.

        modified on Tuesday, March 4, 2008 5:43 AM

        M 1 Reply Last reply
        0
        • J jpg642

          I should have phrased my question better - what I meant was are functions such as strstr optimized for MMX? Having searched a bit more Intel provide a library Intel Performance Primitives which may offer some hope.

          modified on Tuesday, March 4, 2008 5:43 AM

          M Offline
          M Offline
          Matthew Faithfull
          wrote on last edited by
          #4

          Yes, if you want optimised standard functions that use the newer instruction, Intel libraries built with Intel's optimizing compiler backend is definitely the way to go. GNU glibc has some of the lower level i386 support functions e.g. memset written in hand optimised, GAS format, assembler but the Intel tools will optimise your whole code, post compilation.

          Nothing is exactly what it seems but everything with seems can be unpicked.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups