Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Looks like a name for a RISC-V extension

    Edit: Checked the article and dang... x86

  • 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.

    by Lerc
  • See https://www.felixcloutier.com/x86/vfmaddrnd231pd

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

  • An old version of binutils [1] explains what DDS means:

        How to encode VEX.vvvv:
        0: VEX.vvvv must be 1111b.
        1: VEX.NDS.  Register-only source is encoded in VEX.vvvv where
           the content of source registers will be preserved.
           VEX.DDS.  The second register operand is encoded in VEX.vvvv
           where the content of first source register will be overwritten
           by the result.
           VEX.NDD2.  The second destination register operand is encoded in
           VEX.vvvv for instructions with 2 destination register operands.
           For assembler, there are no difference between VEX.NDS, VEX.DDS
           and VEX.NDD2.
        2. VEX.NDD.  Register destination is encoded in VEX.vvvv for
        instructions with 1 destination register operand.
        3. VEX.LWP.  Register destination is encoded in VEX.vvvv and one
           of the operands can access a memory location.
    
    [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;...
    by pbsd

Explore Birbla archives