[llvm-bugs] [Bug 51715] New: [AMDGPU][MC][GFX10] Incorrect FLAT GLOBAL fcmpswap data size

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Sep 2 06:51:57 PDT 2021


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

            Bug ID: 51715
           Summary: [AMDGPU][MC][GFX10] Incorrect FLAT GLOBAL fcmpswap
                    data size
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AMDGPU
          Assignee: unassignedbugs at nondot.org
          Reporter: d-pre at mail.ru
                CC: llvm-bugs at lists.llvm.org

global_atomic_fcmpswap and global_atomic_fcmpswap_x2 are similar to cmpswap
opcodes but operate with f32 data. They have 2-element data operand:

    - global_atomic_fcmpswap: data operand type is f32x2
    - global_atomic_fcmpswap: data operand type is f64x2

However llvm assembler expects one-element data operand.

An example of a failed test:

    global_atomic_fcmpswap v[1:2], v[2:3], off

The assembler expects that data operand size is 32 bits which is incorrect:

    global_atomic_fcmpswap v[1:2], v2, off   // invalid opcode but assembled ok

Compare this with cmpswap test which is accepted by the assembler:

    global_atomic_cmpswap v[1:2], v[2:3], off

-- 
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/20210902/4ee19f31/attachment.html>


More information about the llvm-bugs mailing list