From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id BA1873858D35; Mon, 29 Apr 2024 04:42:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA1873858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1714365733; bh=gkdAlgEj1fii8bCxzQa7DU0lRxQEY+/2g8L1PuAXOSQ=; h=From:To:Subject:Date:From; b=Fs6D8Bbrwu3cqFqSrteDAEbAMvwvhyqtwFyk+FRhGqCiKkPX8zMlhk6gwMw1SzUuK ifLgNYUDCc1px1QOtQinNMapu8w44Dw4RrY9Ok4M1Orb5mYM02yyya9NwVHlnz2F27 pzQutS5NEY5hzSLzq2ELykCva0RM20ATaiK/xQrg= From: "liuhongt at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/114883] New: 521.wrf_r ICE with -O2 -march=sapphirerapids -fvect-cost-model=cheap Date: Mon, 29 Apr 2024 04:42:13 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: liuhongt at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D114883 Bug ID: 114883 Summary: 521.wrf_r ICE with -O2 -march=3Dsapphirerapids -fvect-cost-model=3Dcheap Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: liuhongt at gcc dot gnu.org Target Milestone: --- during GIMPLE pass: vect dump file: module_cam_mp_ndrop.fppized.f90.179t.vect module_cam_mp_ndrop.fppized.f90:33:27: 33 | subroutine dropmixnuc(lchnk, ncol, ncldwtr,tendnd, temp,omega= , & | ^ internal compiler error: in vect_transform_reduction, at tree-vect-loop.cc:= 8506 0x8c8009 vect_transform_reduction(_loop_vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, gimple**, _slp_tree*) /iusers/liuhongt/work/gcc-14/gcc/tree-vect-loop.cc:8506 0x2959895 vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) /iusers/liuhongt/work/gcc-14/gcc/tree-vect-stmts.cc:13447 0x185a31a vect_transform_loop_stmt /iusers/liuhongt/work/gcc-14/gcc/tree-vect-loop.cc:11561 0x18794e2 vect_transform_loop(_loop_vec_info*, gimple*) /iusers/liuhongt/work/gcc-14/gcc/tree-vect-loop.cc:12087 0x18c3544 vect_transform_loops /iusers/liuhongt/work/gcc-14/gcc/tree-vectorizer.cc:1006 0x18c3bc3 try_vectorize_loop_1 /iusers/liuhongt/work/gcc-14/gcc/tree-vectorizer.cc:1152 0x18c3bc3 try_vectorize_loop /iusers/liuhongt/work/gcc-14/gcc/tree-vectorizer.cc:1182 0x18c4224 execute /iusers/liuhongt/work/gcc-14/gcc/tree-vectorizer.cc:1298 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See for instructions. vect dump, vectorization for reduction of COND_MIN and ICE. 9014 MEM [(real(kind=3D8) *)vectp.2627_3771] = =3D vect__458.2626_3767; 9015 vect_tinv_1357.2629_3773 =3D vect__453.2615_3744 + vect__458.2626_37= 66; 9016 vect_tinv_1357.2629_3774 =3D vect__453.2615_3745 + vect__458.2626_37= 67; 9017 tinv_1357 =3D _453 + _458; 9018 mask__2039.2630_3776 =3D vect_vec_iv_.2598_3718 =3D=3D vect_cst__377= 5; 9019 _2039 =3D k.864_1980 =3D=3D prephitmp_3150; 9020 mask_patt_3658.2631_3777 =3D [vec_unpack_lo_expr] mask__2039.2630_37= 76; 9021 mask_patt_3658.2631_3778 =3D [vec_unpack_hi_expr] mask__2039.2630_37= 76; 9022 vect_patt_3659.2632_3781 =3D .COND_ADD (mask_patt_3658.2631_3777, vect_tinv_1357.2629_3773, vect_cst__3779, vect_cst__3780); 9023 vect_patt_3659.2632_3782 =3D .COND_ADD (mask_patt_3658.2631_3778, vect_tinv_1357.2629_3774, vect_cst__3779, vect_cst__3780); 9024 tinv_1766 =3D 0.0; 9025 mask_patt_3660.2633_3783 =3D [vec_unpack_lo_expr] mask__2039.2630_37= 76; 9026 mask_patt_3660.2633_3784 =3D [vec_unpack_hi_expr] mask__2039.2630_37= 76; 9027 vect_patt_3661.2634_3786 =3D .COND_ADD (mask_patt_3660.2633_3783, vect_patt_3659.2632_3781, vect_cst__3785, vect_tinv_1357.2629_3773); 9028 vect_patt_3661.2634_3787 =3D .COND_ADD (mask_patt_3660.2633_3784, vect_patt_3659.2632_3782, vect_cst__3785, vect_tinv_1357.2629_3774); 9029 tinv_1359 =3D 0.0; 9030 mask__2017.2635_3789 =3D vect_patt_3661.2634_3786 > vect_cst__3788; 9031 mask__2017.2635_3790 =3D vect_patt_3661.2634_3787 > vect_cst__3788; 9032 _2017 =3D tinv_1359 > 9.999999974752427078783512115478515625e-7; 9033 vect_dtt_1360.2636_3793 =3D .COND_RDIV (mask__2017.2635_3789, vect_cst__3791, vect_patt_3661.2634_3786, vect_cst__3792); 9034 vect_dtt_1360.2636_3794 =3D .COND_RDIV (mask__2017.2635_3790, vect_cst__3791, vect_patt_3661.2634_3787, vect_cst__3792); 9035 dtt_1360 =3D 0.0; 9036 M.287_1361 =3D .COND_MIN (_2017, dtt_1360, dtmin_1992, dtmin_1992); 9037 _459 =3D k.864_1980 + 1; 9038 vectp.2602_3727 =3D vectp.2602_3729 + 32; 9039 vectp.2606_3733 =3D vectp.2606_3735 + 32; 9040 vectp.2611_3740 =3D vectp.2611_3742 + 32; 9041 vectp.2616_3747 =3D vectp.2616_3749 + 32; 9042 vectp.2618_3752 =3D vectp.2618_3754 + 32; 9043 vectp.2627_3769 =3D vectp.2627_3771 + 32; 9044 if (_459 > prephitmp_3150) 9045 goto ; [11.00%] 9046 else 9047 goto ; [89.00%] 9048 Part of source code in module_cam_mp_ndrop.fppized.f90, the ICE loop. 630 do k=3D1,pver 631 km1=3Dmax0(k-1,1) 632 ekkp(k)=3Dzn(k)*ekk(k)*zs(k) 633 ekkm(k)=3Dzn(k)*ekk(k-1)*zs(km1) 634 tinv=3Dekkp(k)+ekkm(k) 635 636 if(k.eq.pver)tinv=3Dtinv+surfratemax 637! rce-comment -- tinv is the sum of all first-order-loss-rates 638! for the layer. for most layers, the activation loss rate 639! (for interstitial particles) is accounted for by the loss by 640! turb-transfer to the layer above. 641! k=3Dpver is special, and the loss rate for activation within 642! the layer must be added to tinv. if not, the time step 643! can be too big, and explmix can produce negative values. 644! the negative values are reset to zero, resulting in an 645! artificial source. 646 if(k.eq.pver)tinv=3Dtinv+taumix_internal_pver_inv 647 648 if(tinv.gt.1.e-6)then 649 dtt=3D1./tinv 650 dtmin=3Dmin(dtmin,dtt) 651 endif 652 enddo=