[llvm-bugs] [Bug 41282] New: [AMDGPU][MC] Invalid parsing of "no*" modifiers

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Mar 28 12:28:18 PDT 2019


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

            Bug ID: 41282
           Summary: [AMDGPU][MC] Invalid parsing of  "no*" modifiers
           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

Many modifiers which set one bit of instruction (gds, lds, tfe, r128, etc) may
be specified with "no" prefix (nogds, nolds, etc). In this case the bit is
cleared.

However when parsing modifiers assembler checks only the prefix and the suffix
of the token being parsed. The token may include any sequence of alphanumeric
characters between these. I do not think this was intended.

Also "r128" is not supported for GFX9, but "nor128" is. 
There is a similar issue with "a16".

Examples of code which trigger no errors:

  image_load v5, v[1:2], s[8:15] noXXXunorm
  // should trigger an error for GFX9
  image_load v5, v[1:2], s[8:15] unorm nor128
  // should trigger an error for GFX7/8
  image_load v5, v[1:2], s[8:15] unorm noa16

-- 
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/20190328/0affbf07/attachment.html>


More information about the llvm-bugs mailing list