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

            Bug ID: 51217
           Summary: [DAG][AMDGPU] Canonicalization of mulh constants to
                    rhs causes verifier errors
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: AMDGPU
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected], [email protected],
                    [email protected],
                    [email protected]

Created attachment 25070
  --> https://bugs.llvm.org/attachment.cgi?id=25070&action=edit
Canonicalise MULHS/U constants to the RHS

As detailed on D106471, attempting to canonicalize mulh constants to rhs
causes:

*** Bad machine code: VOP* instruction violates constant bus restriction ***
- function:    v_test_sdiv_k_num_i64
- basic block: %bb.0  (0x238f3f455f0)
- instruction: %160:vgpr_32 = V_ADDC_U32_e32 %70:sreg_32, %161:vgpr_32,
implicit-def dead $vcc, implicit $vcc, implicit $exec


Failed Tests (4):
  LLVM :: CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
  LLVM :: CodeGen/AMDGPU/sdiv64.ll
  LLVM :: CodeGen/AMDGPU/srem64.ll
  LLVM :: CodeGen/AMDGPU/udiv64.ll

I only saw it on sdiv64.ll and srem64.ll (I'm not sure but this might require
EXPENSIVE_CHECKS to be enabled).

-- 
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