[PATCH] D150333: [DAGCombiner][AArch64][VE] Teach BuildUDIV/SDIV to use 2x mul when mulh/mul_lohi are not available.

John Paul Adrian Glaubitz via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 13 14:48:15 PDT 2023


glaubitz added a comment.

This change broke the test CodeGen/M68k/Arith/divide-by-constant.ll on M68k:

  FAIL: LLVM :: CodeGen/M68k/Arith/divide-by-constant.ll (11158 of 65166)
  ******************** TEST 'LLVM :: CodeGen/M68k/Arith/divide-by-constant.ll' FAILED ********************
  Script:
  --
  : 'RUN: at line 2';   /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/bin/llc < /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll -mtriple=m68k-linux -verify-machineinstrs | /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/stage1/bin/FileCheck /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
  --
  Exit Code: 1
  
  Command Output (stderr):
  --
  /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll:42:15: error: CHECK-NEXT: expected string not found in input
  ; CHECK-NEXT: mulu #21846, %d0
                ^
  <stdin>:42:17: note: scanning from here
   and.l #255, %d0
                  ^
  <stdin>:43:2: note: possible intended match here
   muls #171, %d0
   ^
  /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll:128:15: error: CHECK-NEXT: is not on the line after the previous match
  ; CHECK-NEXT: and.l #255, %d0
                ^
  <stdin>:132:2: note: 'next' match was here
   and.l #255, %d0
   ^
  <stdin>:130:21: note: previous match ended here
   move.b (7,%sp), %d0
                      ^
  <stdin>:131:1: note: non-matching line after previous match is here
   lsr.b #1, %d0
  ^
  /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll:142:15: error: CHECK-NEXT: is not on the line after the previous match
  ; CHECK-NEXT: and.l #255, %d0
                ^
  <stdin>:148:2: note: 'next' match was here
   and.l #255, %d0
   ^
  <stdin>:146:21: note: previous match ended here
   move.b (7,%sp), %d0
                      ^
  <stdin>:147:1: note: non-matching line after previous match is here
   lsr.b #2, %d0
  ^
  
  Input file: <stdin>
  Check file: /srv/buildbot/workers/suse-gary-m68k-cross/clang-m68k-linux-cross/llvm/llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
  
  -dump-input=help explains the following input dump.
  
  Input was:
  <<<<<<
             .
             .
             .
            37:  .type test3, at function 
            38: test3: ; @test3 
            39:  .cfi_startproc 
            40: ; %bb.0: ; %entry 
            41:  move.b (11,%sp), %d0 
            42:  and.l #255, %d0 
  next:42'0                     X error: no match found
            43:  muls #171, %d0 
  next:42'0     ~~~~~~~~~~~~~~~~
  next:42'1      ?               possible intended match
            44:  move.w #9, %d1 
  next:42'0     ~~~~~~~~~~~~~~~~
            45:  lsr.w %d1, %d0 
  next:42'0     ~~~~~~~~~~~~~~~~
            46:  and.l #65535, %d0 
  next:42'0     ~~~~~~~~~~~~~~~~~~~
            47:  rts 
  next:42'0     ~~~~~
            48: .Lfunc_end2: 
  next:42'0     ~~~~~~~~~~~~~
             .
             .
             .
           127:  .type test8, at function
           128: test8: ; @test8 
           129: ; %bb.0: 
           130:  move.b (7,%sp), %d0 
           131:  lsr.b #1, %d0 
           132:  and.l #255, %d0 
  next:128       !~~~~~~~~~~~~~~  error: match on wrong line
           133:  muls #211, %d0 
           134:  move.w #13, %d1 
           135:  lsr.w %d1, %d0 
           136:  ; kill: def $bd0 killed $bd0 killed $d0 
           137:  rts 
             .
             .
             .
           143:  .type test9, at function 
           144: test9: ; @test9 
           145: ; %bb.0: 
           146:  move.b (7,%sp), %d0 
           147:  lsr.b #2, %d0 
           148:  and.l #255, %d0 
  next:142       !~~~~~~~~~~~~~~  error: match on wrong line
           149:  muls #71, %d0 
           150:  move.w #11, %d1 
           151:  lsr.w %d1, %d0 
           152:  ; kill: def $bd0 killed $bd0 killed $d0 
           153:  rts 
             .
             .
             .
  >>>>>>
  
  --
  
  ********************

See: https://lab.llvm.org/buildbot/#/builders/192/builds/1874


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D150333/new/

https://reviews.llvm.org/D150333



More information about the llvm-commits mailing list