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: [email protected]
          Reporter: [email protected]
                CC: [email protected]

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.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to