[llvm-bugs] [Bug 39320] New: [AMDGPU][MC] Default MIMG dmask is 0 which is illegal for GATHER/ATOMIC opcodes

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Oct 16 03:45:57 PDT 2018


https://bugs.llvm.org/show_bug.cgi?id=39320

            Bug ID: 39320
           Summary: [AMDGPU][MC] Default MIMG dmask is 0 which is illegal
                    for GATHER/ATOMIC opcodes
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AMDGPU
          Assignee: unassignedbugs at nondot.org
          Reporter: dpreobrazhensky at luxoft.com
                CC: llvm-bugs at lists.llvm.org

In the current implementation, dmask is an optional modifier. When omitted,
dmask value defaults to zero.

However there are MIMG opcodes for which zero dmask is illegal:
- all GATHER opcodes
- all ATOMIC opcodes

This result in unclear behavior and error messages. For example, the code

    image_gather4 v[0:3], v[0:1], s[0:7], s[0:3]

trigger the following error message:

    invalid image_gather dmask: only one bit must be set

I believe that an optional modifier should always provide a legal value.
Unfortunately there is no dmask value that is legal for all opcodes.

Should we change dmask to be a mandatory modifier?

Any suggestions?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181016/b911aa04/attachment.html>


More information about the llvm-bugs mailing list