[Nasm-bugs] [Bug 3392850] New: error message "mask not permitted on this operand" for instruction where mask is allowed (but broadcast isn't)

noreply-nasm at dev.nasm.us noreply-nasm at dev.nasm.us
Thu Mar 16 07:00:51 PDT 2023


https://bugzilla.nasm.us/show_bug.cgi?id=3392850

            Bug ID: 3392850
           Summary: error message "mask not permitted on this operand" for
                    instruction where mask is allowed (but broadcast
                    isn't)
           Product: NASM
           Version: 2.15.xx
          Hardware: All
                OS: All
            Status: OPEN
          Severity: normal
          Priority: Medium
         Component: Assembler
          Assignee: nobody at nasm.us
          Reporter: rsbultje at gmail.com
                CC: chang.seok.bae at intel.com, gorcunov at gmail.com,
                    hpa at zytor.com, nasm-bugs at nasm.us
     Obtained from: From other website

For the following version of nasm (installed from macports):

> $ nasm --version
> NASM version 2.15.05 compiled on Nov  3 2021

I observe the following behaviour:

> $ cat /tmp/x1.asm && nasm -o /tmp/x.o /tmp/x1.asm -f macho64
> vpmulhrsw zmm0, zmm0, [rsp]{1to16}
> /tmp/x1.asm:1: error: broadcast not permitted on this operand

The above is correct, but...

> $ cat /tmp/x2.asm && nasm -o /tmp/x.o /tmp/x2.asm -f macho64
> vpmulhrsw zmm0{k1}, zmm0, [rsp]{1to16}
> /tmp/x2.asm:1: error: mask not permitted on this operand

This second error message is incorrect: masks are permitted in vpmulhrsw, it is
the broadcast that is not permitted. By comparison, the following assembles
successfully:

> $ cat /tmp/x3.asm && nasm -o /tmp/x.o /tmp/x3.asm -f macho64
> vpmulhrsw zmm0{k1}, zmm0, [rsp]

I believe the following patch (not written by me) might resolve this issue,
although I haven't tested it myself:

https://github.com/netwide-assembler/nasm/pull/75

-- 
You are receiving this mail because:
You are watching all bug changes.
You are on the CC list for the bug.


More information about the Nasm-bugs mailing list