Memory-memory move instructions on x86

By: (, December 31, 2019 11:47 am
Room: Moderated Discussions

I do not understand why this forum is discussing whether MEMCMP string instruction should or should not be included in a CPU. The same can be said about a MEMCPY string instruction.

In my opinion, as far as x86&similar are concerned, an obvious step that would improve performance across all applications is addition of the MOV r/m,r/m instruction.

One reason why it would be faster than two register-memory instructions is that a memory-memory instruction has (that is: has to have, if done right) shorter encoding than a sequence of two register-memory instructions: MOV r/m,r; MOV r,r/m

Second reason why it would be faster is that it leaves more architectural registers for use by the compiler.

Third reason why it would be faster is that a memory-memory move instruction is allocating a register from the pool of registers internal to the CPU, and the number of these internal registers is much larger than the number of architectural programmer-visible registers, which enables higher number of instructions to be executed in parallel due to the simple fact that emptying a larger register pool is less probable (more difficult) then emptying a smaller register pool.

Motorola 68000 had memory-memory move instructions, but failed to retain its 20th century 80/90-ties market share due to factors mostly unrelated to the quality of 68000's instruction set.

 Next Post in Thread >
TopicPosted ByDate
Memory-memory move instructions on x862019/12/31 11:47 AM
  Memory-memory move instructions on x862019/12/31 11:54 AM
    Have you considered Microsoft Word (tm)? (NT)Bill2019/12/31 11:59 AM
  Memory-memory move instructions on x86Jouni Osmala2019/12/31 01:09 PM
    Memory-memory move instructions on x862019/12/31 02:53 PM
  probably little benefitChester2019/12/31 05:12 PM
    measuring the benefit2020/01/01 04:55 AM
    probably little benefitLinus Torvalds2020/01/01 02:54 PM
      probably more than little benefit2020/01/01 05:51 PM
        probably more than little benefit2020/01/01 05:54 PM
          probably more than little benefitEtienne2020/01/02 01:53 AM
        probably more than little benefitChester2020/01/01 08:10 PM
          oops html ate the lt signChester2020/01/01 08:15 PM
      probably little benefitMichael S2020/01/02 02:55 AM
        probably little benefitJose2020/01/02 06:56 AM
          probably little benefitJose2020/01/02 09:49 AM
      probably little benefitgallier22020/01/02 03:52 AM
    probably little benefitgallier22020/01/02 04:06 AM
  Memory-memory move instructions on x86NoSpammer2020/01/02 02:45 PM
    Memory-memory move instructions on x86anonymou52020/01/02 04:13 PM
      Memory-memory move instructions on x86Michael S2020/01/03 12:51 AM
        Memory-memory move instructions on x86anonymou52020/01/03 08:38 AM
    Memory-memory move instructions on x86Linus Torvalds2020/01/02 06:04 PM
      Memory-memory move instructions on x86Michael S2020/01/03 12:57 AM
        Memory-memory move instructions on x86Linus Torvalds2020/01/03 07:12 PM
          Memory-memory move instructions on x86NoSpammer2020/01/07 05:35 AM
Reply to this Topic
Body: No Text
How do you spell purple?