Who Is Vfmaddrnd231pd?

(purplesyringa.moe)

90 points | by pngmangi 3 hours ago

3 comments

  • Lerc 1 hour ago
    Similar to a comment I made a few hours ago. I find myself expressing a concern that something has been lost when people never interact with something directly.

    Most of the discussion today is about AI and how that causes this issue, but I have been though this experience a few times now.

    This instruction is essentially incomprehensible at a glance and requires a mental translation step to fillow. That doesn't affect it's use in a specific case, and compilers just use the instructions that they are programmed to use, so there isn't anything fundamentally wrong with this instruction or it's name other than the fact that it seems to be a key for a lock.

    If there were more people programming in asm, there would probably be enough minds interacting with the instructions to desire and have the capacity to design a better representation for the instruction set. I do believe that better designs at levels like that help solidify thinking in neighbouring levels. For instance with instruction representations, a better way to think about how the instruction is specified might reduce the cognitive load on chip designers and compiler writers.

    This kind of thing happens over and over when people move to new methods, there are artifacts that remain that are still useful in a modern context but only exist because they were designed at a time when the principles that underlying them were much more commonly used.

    Examples of this are music boxes and regular expressions, You can still find new instances for both, and they are good solutions for some tasks, but if anyone were to design something today to fill the niche of either, they would not come up with anything so enduring.

    It is easier to understand a music box than a regular expression finite automata, but both are wonders of design.

    It has occurred to me that this specific problem of ideas and methods left unconsidered may not be such a problem in an age of AI. It mY be that the capacity for AI to consider and link so many things that it will draw together elements from all of those domains to apply techniques that humans no longer focus upon onto issues that are currently relevant.

    I'm not sure if current AI is up to that particular task. It would be an interesting problem to set it.

    Design an assembler for a machine with a modern complex instruction set so that programming on assembler is a more mentally tractable task.

    It would be fascinating to see what such an open task would do to a model.

    • ack_complete 37 minutes ago
      You're assuming that the asm syntax is targeted at human readability, when it's at least as much to ease the complexity of the assembler and disassembler.

      If the FMA instruction syntax was designed for readability, then it would have used 4-argument syntax with a requirement for two registers to match instead of using the 1/2/3 encodings. But the reason why it uses those names instead is that it's more consistent with the instruction encoding and the format of most other vector instructions: the register/memory argument is last.

      Similarly, x86 vector instructions that take an immediate byte cram a bunch of options into that byte, such as shuffle masks or operation options. The assembly syntax does not help constructing this byte at all. But that's because it's meant to map straightforwardly to the instruction encoding, not to be easy to manually read or write.

      ARM assembly tends to be a bit more consistent, but has some similar quirks. The majority of ARM instructions are dst,src, but store instructions are reversed as src,dst so they have the memory argument second just like load instructions.

    • joshpicky 17 minutes ago
      My question with this is about intent. If asm programming really becomes a lost art for humans. The question then becomes who will impart the intent or mission to LLMS to connect this ideas.

      Remains me of an interesting article I read a month ago. About how LLMs can be “anti-meme generators” as in Memetics.

      https://www.jernesto.com/articles/anti_meme_explosion

    • muricula 1 hour ago
      I'm not sure it's so profound at all. The Intel vector ISA has always been filled with instructions with odd semantics and inscrutable names. They probably made a mistake in some deep corner case in their rounding implementation and had a choice between releasing the new instruction with the wrong semantics and pulling the "chicken bit" making the instruction inaccessible for this generation of CPUs, better luck next time.
  • enjoyyourlife 13 minutes ago
    See https://www.felixcloutier.com/x86/vfmaddrnd231pd

    Theory: It was removed due to hardware issue and never worked

  • LoganDark 25 minutes ago
    Looks like a name for a RISC-V extension

    Edit: Checked the article and dang... x86

    • pclmulqdq 23 minutes ago
      RISC-V got the absurd names from somewhere.