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: unassignedb...@nondot.org
          Reporter: dpreobrazhen...@luxoft.com
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to