llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.51k stars 11.3k forks source link

Bad machine code: Subrange lanemask is invalid #48690

Open JonPsson opened 3 years ago

JonPsson commented 3 years ago
Bugzilla Link 49346
Version trunk
OS Linux
Attachments reduced testcase
CC @JonPsson,@qcolombet,@uweigand

Extended Description

llc -mcpu=arch13 -O3 -disable-machine-dce -systemz-subreg-liveness -verify-misched -join-globalcopies=false tc_crash0_aftercreduce.ll

Before machine scheduling.

** INTERVALS ** %1 EMPTY weight:0.000000e+00 %3 [48r,48d:0) 0@48r L0000000000000000 [48r,48d:0) 0@48r weight:0.000000e+00 %4 [48r,64r:0)[64r,96r:1) 0@48r 1@64r LFFFFFFFFFFFFFFFF [48r,64r:0)[64r,96r:1) 0@48r 1@64r weight:0.000000e+00 RegMasks: 144r ** MACHINEINSTRS **

Machine code for function j: NoPHIs, TracksLiveness, TiedOpsRewritten

0B bb.0.bb: successors: %bb.1(0x80000000); %bb.1(100.00%)

16B CGHI undef %1:gr64bit, 7, implicit-def $cc 48B %4:gr64bit = LGHI 0 64B %4:gr64bit = LOCGHI %4:gr64bit(tied-def 0), 1, 14, 2, implicit killed $cc 96B STGRL %4:gr64bit, @​c :: (store 8 into @​c) 112B ADJCALLSTACKDOWN 0, 0 128B $r2d = LGHI 0 144B CallBRASL @​i, killed $r2d, <regmask $f8d $f9d $f10d $f11d $f12d $f13d $f14d $f15d $f8q $f9q $f12q $f13q $f8s $f9s $f10s $f11s $f12s $f13s $f14s $f15s $r6d $r7d $r8d $r9d $r10d $r11d $r12d $r13d $r14d $r15d $r6h $r7h $r8h and 22 more...>, implicit-def dead $r14d, implicit-def dead $cc, implicit $fpc 160B ADJCALLSTACKUP 0, 0

176B bb.1.bb3: ; predecessors: %bb.0, %bb.1 successors: %bb.1(0x80000000); %bb.1(100.00%)

192B J %bb.1

End machine code for function j.

Bad machine code: Subrange lanemask is invalid

JonPsson commented 3 years ago

ping! This shows up every week in testing on SystemZ...