[llvm-bugs] [Bug 45092] New: [SystemZ] - Valid instructions are rejected with "%r0 used in an address"

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Mar 3 09:58:57 PST 2020


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

            Bug ID: 45092
           Summary: [SystemZ] - Valid instructions are rejected with "%r0
                    used in an address"
           Product: libraries
           Version: 9.0
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: SystemZ
          Assignee: unassignedbugs at nondot.org
          Reporter: slavomir.kucera at broadcom.com
                CC: llvm-bugs at lists.llvm.org

Inline assembler parser for SystemZ rejects valid instructions when %r0 is used
as an operands.

Examples of this would be:
- basr %r2,%r0
- bsm  %r2,%r0
- lae  %r2,0(%r14,%r0) 

https://godbolt.org/z/wY8VqC

- All of these examples are valid and have a use-case, 
- GCC accepts them,
- in AR-mode the order of index and base register actually matters (0(%r14,%r0)
operates on primary, 0(%r0,%r14) operates on whatever ar14 points to).
- the instructions can be coded e.g. as templates (like targets for EX/EXRL).

My preferred solution is to just remove the checks in the parser
(SystemZAsmParser.cpp).

-- 
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/20200303/a53c1af4/attachment-0001.html>


More information about the llvm-bugs mailing list