[llvm-bugs] [Bug 51217] New: [DAG][AMDGPU] Canonicalization of mulh constants to rhs causes verifier errors
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Mon Jul 26 07:12:03 PDT 2021
    
    
  
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: unassignedbugs at nondot.org
          Reporter: llvm-dev at redking.me.uk
                CC: craig.topper at gmail.com, jay.foad at antixlabs.com,
                    jay.foad at gmail.com, llvm-bugs at lists.llvm.org,
                    Matthew.Arsenault at amd.com,
                    stanislav.mekhanoshin at amd.com
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210726/4c458758/attachment.html>
    
    
More information about the llvm-bugs
mailing list