public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722
@ 2021-10-30 18:18 dcb314 at hotmail dot com
2021-10-30 20:05 ` [Bug c++/103007] " dcb314 at hotmail dot com
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: dcb314 at hotmail dot com @ 2021-10-30 18:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Bug ID: 103007
Summary: ice in vect_normalize_conj_loc, at
tree-vect-slp-patterns.c:722
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: dcb314 at hotmail dot com
Target Milestone: ---
Created attachment 51705
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51705&action=edit
gzipped C++ source code
The attached C++ code, with compiler flag -O2 -march=bdver2, does this:
during GIMPLE pass: slp
Adanaxis/AdanaxisPieceProjectile.cpp: In member function ‘virtual void
AdanaxisPieceProjectile::Move(MushGameLogic&, Mushware::tVal)’:
Adanaxis/AdanaxisPieceProjectile.cpp:123:1: internal compiler error: in
vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722
0x8f64ab vect_normalize_conj_loc
../../trunk.git/gcc/tree-vect-slp-patterns.c:722
The bug seems to start sometime between git hash b343a29dbcbfc5ea
and 70c947e4dfaa6d63.
I will have my usual go at reducing the code.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug c++/103007] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
@ 2021-10-30 20:05 ` dcb314 at hotmail dot com
2021-10-30 23:14 ` [Bug tree-optimization/103007] [12 Regression] " pinskia at gcc dot gnu.org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: dcb314 at hotmail dot com @ 2021-10-30 20:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> ---
Reduced C++ code seems to be:
template <int D> class MushMeshVector {
public:
MushMeshVector(float, float, float, float);
float Z() {
float __trans_tmp_3;
int inIndex = 2;
__trans_tmp_3 = m_value[inIndex];
return __trans_tmp_3;
}
float W() {
float __trans_tmp_4;
int inIndex = 3;
__trans_tmp_4 = m_value[inIndex];
return __trans_tmp_4;
}
void ZSet(float inValue) {
int inIndex = 2;
m_value[inIndex] = inValue;
}
void WSet(float inValue) {
int inIndex = 3;
m_value[inIndex] = inValue;
}
float m_value[D];
};
template <class> class MushMeshQuaternion : MushMeshVector<4> {
public:
void PreMultiplyVector(MushMeshVector &) const;
void PostMultiplyVector(MushMeshVector &) const;
};
template <class T>
void MushMeshQuaternion<T>::PreMultiplyVector(MushMeshVector &ioVec) const {
ioVec.ZSet(2 - m_value[1] + m_value[3] * 0);
ioVec.WSet(m_value[3] + m_value[1] - m_value[2] * 0);
}
template <class T>
void MushMeshQuaternion<T>::PostMultiplyVector(MushMeshVector &ioVec) const {
T c = ioVec.Z(), d = ioVec.W();
ioVec.ZSet(0 - d * m_value[1]);
ioVec.WSet(2 - c * m_value[1]);
}
template <class> class MushMeshQuaternionPair {
public:
void VectorRotate(MushMeshVector<4> &) const;
MushMeshQuaternion<float> m_first;
MushMeshQuaternion<float> m_second;
};
template <class T>
void MushMeshQuaternionPair<T>::VectorRotate(MushMeshVector<4> &ioVec) const {
m_first.PreMultiplyVector(ioVec);
m_second.PostMultiplyVector(ioVec);
}
class MushMeshPosticity {
public:
MushMeshQuaternionPair<float> AngPos();
};
class MushGamePiece {
public:
MushMeshPosticity Post();
void PostWRef();
};
class AdanaxisPieceProjectile : MushGamePiece {
void Move();
float m_acceleration;
};
void AdanaxisPieceProjectile::Move() {
MushMeshVector<4> accVec(0, 0, 0, m_acceleration);
Post().AngPos().VectorRotate(accVec);
PostWRef();
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
2021-10-30 20:05 ` [Bug c++/103007] " dcb314 at hotmail dot com
@ 2021-10-30 23:14 ` pinskia at gcc dot gnu.org
2021-10-30 23:33 ` pinskia at gcc dot gnu.org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-10-30 23:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |12.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
2021-10-30 20:05 ` [Bug c++/103007] " dcb314 at hotmail dot com
2021-10-30 23:14 ` [Bug tree-optimization/103007] [12 Regression] " pinskia at gcc dot gnu.org
@ 2021-10-30 23:33 ` pinskia at gcc dot gnu.org
2021-11-01 3:36 ` [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce marxin at gcc dot gnu.org
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-10-30 23:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2021-10-30
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed, reduced to:
typedef float MushMeshVector[4];
struct MushMeshQuaternionPair {
void VectorRotate(MushMeshVector &);
MushMeshVector m_first;
MushMeshVector m_second;
};
void
MushMeshQuaternionPair::
VectorRotate(MushMeshVector &ioVec) {
ioVec[2] = (2 - m_first[1] + m_first[3] * 0);
ioVec[3] = (m_first[3] + m_first[1] - m_first[2] * 0);
float c = ioVec[2], d = ioVec[3];
ioVec[2] = (0 - d * m_second[1]);
ioVec[3] = (2 - c * m_second[1]);
}
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (2 preceding siblings ...)
2021-10-30 23:33 ` pinskia at gcc dot gnu.org
@ 2021-11-01 3:36 ` marxin at gcc dot gnu.org
2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-11-01 3:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org
Summary|[12 Regression] ice in |[12 Regression] ice in
|vect_normalize_conj_loc, at |vect_normalize_conj_loc, at
|tree-vect-slp-patterns.c:72 |tree-vect-slp-patterns.c:72
|2 |2 since
| |r12-4785-ged3de62ac949c92ad
| |41ef6de7cc926fbb2a510ce
Blocks| |26163
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Btw. it affects quite some SPEC benchmarks.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163
[Bug 26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (3 preceding siblings ...)
2021-11-01 3:36 ` [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce marxin at gcc dot gnu.org
@ 2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2021-11-01 7:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
--- Comment #4 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Yes a lane check size is missing from fms, will be fixed in a bit.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (4 preceding siblings ...)
2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
@ 2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
2021-11-01 10:43 ` juergen.reuter at desy dot de
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2021-11-01 7:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Tamar Christina <tnfchris at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |tnfchris at gcc dot gnu.org
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (5 preceding siblings ...)
2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
@ 2021-11-01 10:43 ` juergen.reuter at desy dot de
2021-11-01 10:45 ` juergen.reuter at desy dot de
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: juergen.reuter at desy dot de @ 2021-11-01 10:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Jürgen Reuter <juergen.reuter at desy dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |juergen.reuter at desy dot de
--- Comment #5 from Jürgen Reuter <juergen.reuter at desy dot de> ---
I can confirm this ICE also with (legacy) Fortran code, cf. below.
The full code is attached.
C***********************************************************************
C...PYQQBH
C...Calculates the matrix element for the processes
C...g + g or q + qbar -> Q + Qbar + H (normally with Q = t).
C...REDUCE output and part of the rest courtesy Z. Kunszt, see
C...Z. Kunszt, Nucl. Phys. B247 (1984) 339.
SUBROUTINE PYQQBH(WTQQBH)
C...Double precision and integer declarations.
IMPLICIT DOUBLE PRECISION(A-H, O-Z)
IMPLICIT INTEGER(I-N)
INTEGER PYK,PYCHGE,PYCOMP
C...Commonblocks.
COMMON/PYDAT1/MSTU(200),PARU(200),MSTJ(200),PARJ(200)
COMMON/PYDAT2/KCHG(500,4),PMAS(500,4),PARF(2000),VCKM(4,4)
COMMON/PYPARS/MSTP(200),PARP(200),MSTI(200),PARI(200)
COMMON/PYINT1/MINT(400),VINT(400)
COMMON/PYINT2/ISET(500),KFPR(500,2),COEF(500,20),ICOL(40,4,2)
SAVE /PYDAT1/,/PYDAT2/,/PYPARS/,/PYINT1/,/PYINT2/
C...Local arrays and function.
DIMENSION PP(15,4),CLR(8,8),FM(10,10),RM(8,8),DX(8)
DOT(I,J)=PP(I,4)*PP(J,4)-PP(I,1)*PP(J,1)-PP(I,2)*PP(J,2)-
&PP(I,3)*PP(J,3)
C...Mass parameters.
WTQQBH=0D0
ISUB=MINT(1)
SHPR=SQRT(VINT(26))*VINT(1)
PQ=PMAS(PYCOMP(KFPR(ISUB,2)),1)
PH=SQRT(VINT(21))*VINT(1)
SPQ=PQ**2
SPH=PH**2
C...Set up outgoing kinematics: 1=t, 2=tbar, 3=H.
DO 100 I=1,2
PT=SQRT(MAX(0D0,VINT(197+5*I)))
PP(I,1)=PT*COS(VINT(198+5*I))
PP(I,2)=PT*SIN(VINT(198+5*I))
100 CONTINUE
PP(3,1)=-PP(1,1)-PP(2,1)
PP(3,2)=-PP(1,2)-PP(2,2)
PMS1=SPQ+PP(1,1)**2+PP(1,2)**2
PMS2=SPQ+PP(2,1)**2+PP(2,2)**2
PMS3=SPH+PP(3,1)**2+PP(3,2)**2
PMT3=SQRT(PMS3)
PP(3,3)=PMT3*SINH(VINT(211))
PP(3,4)=PMT3*COSH(VINT(211))
PMS12=(SHPR-PP(3,4))**2-PP(3,3)**2
PP(1,3)=(-PP(3,3)*(PMS12+PMS1-PMS2)+
&VINT(213)*(SHPR-PP(3,4))*VINT(220))/(2D0*PMS12)
PP(2,3)=-PP(1,3)-PP(3,3)
PP(1,4)=SQRT(PMS1+PP(1,3)**2)
PP(2,4)=SQRT(PMS2+PP(2,3)**2)
C...Set up incoming kinematics and derived momentum combinations.
DO 110 I=4,5
PP(I,1)=0D0
PP(I,2)=0D0
PP(I,3)=-0.5D0*SHPR*(-1)**I
PP(I,4)=-0.5D0*SHPR
110 CONTINUE
DO 120 J=1,4
PP(6,J)=PP(1,J)+PP(2,J)
PP(7,J)=PP(1,J)+PP(3,J)
PP(8,J)=PP(1,J)+PP(4,J)
PP(9,J)=PP(1,J)+PP(5,J)
PP(10,J)=-PP(2,J)-PP(3,J)
PP(11,J)=-PP(2,J)-PP(4,J)
PP(12,J)=-PP(2,J)-PP(5,J)
PP(13,J)=-PP(4,J)-PP(5,J)
120 CONTINUE
C...Derived kinematics invariants.
X1=DOT(1,2)
X2=DOT(1,3)
X3=DOT(1,4)
X4=DOT(1,5)
X5=DOT(2,3)
X6=DOT(2,4)
X7=DOT(2,5)
X8=DOT(3,4)
X9=DOT(3,5)
X10=DOT(4,5)
C...Propagators.
SS1=DOT(7,7)-SPQ
SS2=DOT(8,8)-SPQ
SS3=DOT(9,9)-SPQ
SS4=DOT(10,10)-SPQ
SS5=DOT(11,11)-SPQ
SS6=DOT(12,12)-SPQ
SS7=DOT(13,13)
DX(1)=SS1*SS6
DX(2)=SS2*SS6
DX(3)=SS2*SS4
DX(4)=SS1*SS5
DX(5)=SS3*SS5
DX(6)=SS3*SS4
DX(7)=SS7*SS1
DX(8)=SS7*SS4
C...Define colour coefficients for g + g -> Q + Qbar + H.
IF(ISUB.EQ.121.OR.ISUB.EQ.181.OR.ISUB.EQ.186) THEN
DO 140 I=1,3
DO 130 J=1,3
CLR(I,J)=16D0/3D0
CLR(I+3,J+3)=16D0/3D0
CLR(I,J+3)=-2D0/3D0
CLR(I+3,J)=-2D0/3D0
130 CONTINUE
140 CONTINUE
DO 160 L=1,2
DO 150 I=1,3
CLR(I,6+L)=-6D0
CLR(I+3,6+L)=6D0
CLR(6+L,I)=-6D0
CLR(6+L,I+3)=6D0
150 CONTINUE
160 CONTINUE
DO 180 K1=1,2
DO 170 K2=1,2
CLR(6+K1,6+K2)=12D0
170 CONTINUE
180 CONTINUE
C...Evaluate matrix elements for g + g -> Q + Qbar + H.
FM(1,1)=64*PQ**6+16*PQ**4*PH**2+32*PQ**4*(X1+2*X2+X4+X9+2*
& X7+X5)+8*PQ**2*PH**2*(-X1-X4+2*X7)+16*PQ**2*(X2*X9+4*X2*
& X7+X2*X5-2*X4*X7-2*X9*X7)+8*PH**2*X4*X7-16*X2*X9*X7
FM(1,2)=16*PQ**6+8*PQ**4*(-2*X1+X2-2*X3-2*X4-4*X10+X9-X8+2
& *X7-4*X6+X5)+8*PQ**2*(-2*X1*X2-2*X2*X4-2*X2*X10+X2*X7-2*
& X2*X6-2*X3*X7+2*X4*X7+4*X10*X7-X9*X7-X8*X7)+16*X2*X7*(X4+
& X10)
FM(1,3)=16*PQ**6-4*PQ**4*PH**2+8*PQ**4*(-2*X1+2*X2-2*X3-4*
& X4-8*X10+X9+X8-2*X7-4*X6+2*X5)-(4*PQ**2*PH**2)*(X1+X4+X10
& +X6)+8*PQ**2*(-2*X1*X2-2*X1*X10+X1*X9+X1*X8-2*X1*X5+X2**2
& -4*X2*X4-5*X2*X10+X2*X8-X2*X7-3*X2*X6+X2*X5+X3*X9+2*X3*X7
& -X3*X5+X4*X8+2*X4*X6-3*X4*X5-5*X10*X5+X9*X8+X9*X6+X9*X5+
& X8*X7-4*X6*X5+X5**2)-(16*X2*X5)*(X1+X4+X10+X6)
FM(1,4)=16*PQ**6+4*PQ**4*PH**2+16*PQ**4*(-X1+X2-X3-X4+X10-
& X9-X8+2*X7+2*X6-X5)+4*PQ**2*PH**2*(X1+X3+X4+X10+2*X7+2*X6
& )+8*PQ**2*(4*X1*X10+4*X1*X7+4*X1*X6+2*X2*X10-X2*X9-X2*X8+
& 4*X2*X7+4*X2*X6-X2*X5+4*X10*X5+4*X7*X5+4*X6*X5)-(8*PH**2*
& X1)*(X10+X7+X6)+16*X2*X5*(X10+X7+X6)
FM(1,5)=8*PQ**4*(-2*X1-2*X4+X10-X9)+4*PQ**2*(4*X1**2-2*X1*
& X2+8*X1*X3+6*X1*X10-2*X1*X9+4*X1*X8+4*X1*X7+4*X1*X6+2*X1*
& X5+X2*X10+4*X3*X4-X3*X9+2*X3*X7+3*X4*X8-2*X4*X6+2*X4*X5-4
& *X10*X7+3*X10*X5-3*X9*X6+3*X8*X7-4*X7**2+4*X7*X5)+8*(X1**
& 2*X9-X1**2*X8-X1*X2*X7+X1*X2*X6+X1*X3*X9+X1*X3*X5-X1*X4*
& X8-X1*X4*X5+X1*X10*X9+X1*X9*X7+X1*X9*X6-X1*X8*X7-X2*X3*X7
& +X2*X4*X6-X2*X10*X7-X2*X7**2+X3*X7*X5-X4*X10*X5-X4*X7*X5-
& X4*X6*X5)
FM(1,6)=16*PQ**4*(-4*X1-X4+X9-X7)+4*PQ**2*PH**2*(-2*X1-X4-
& X7)+16*PQ**2*(-2*X1**2-3*X1*X2-2*X1*X4-3*X1*X9-2*X1*X7-3*
& X1*X5-2*X2*X4-2*X7*X5)-8*PH**2*X4*X7+8*(-X1*X2*X9-2*X1*X2
& *X5-X1*X9**2-X1*X9*X5+X2**2*X7-X2*X4*X5+X2*X9*X7-X2*X7*X5
& +X4*X9*X5+X4*X5**2)
FM(1,7)=8*PQ**4*(2*X3+X4+3*X10+X9+2*X8+3*X7+6*X6)+2*PQ**2*
& PH**2*(-2*X3-X4+3*X10+3*X7+6*X6)+4*PQ**2*(4*X1*X10+4*X1*
& X7+8*X1*X6+6*X2*X10+X2*X9+2*X2*X8+6*X2*X7+12*X2*X6-8*X3*
& X7+4*X4*X7+4*X4*X6+4*X10*X5+4*X9*X7+4*X9*X6-8*X8*X7+4*X7*
& X5+8*X6*X5)+4*PH**2*(-X1*X10-X1*X7-2*X1*X6+2*X3*X7-X4*X7-
& X4*X6)+8*X2*(X10*X5+X9*X7+X9*X6-2*X8*X7+X7*X5+2*X6*X5)
FM(1,8)=8*PQ**4*(2*X3+X4+3*X10+2*X9+X8+3*X7+6*X6)+2*PQ**2*
& PH**2*(-2*X3-X4+2*X10+X7+2*X6)+4*PQ**2*(4*X1*X10-2*X1*X9+
& 2*X1*X8+4*X1*X7+8*X1*X6+5*X2*X10+2*X2*X9+X2*X8+4*X2*X7+8*
& X2*X6-X3*X9-8*X3*X7+2*X3*X5+2*X4*X9-X4*X8+4*X4*X7+4*X4*X6
& +4*X4*X5+5*X10*X5+X9**2-X9*X8+2*X9*X7+5*X9*X6+X9*X5-7*X8*
& X7+2*X8*X5+2*X7*X5+10*X6*X5)+2*PH**2*(-X1*X10+X3*X7-2*X4*
& X7+X4*X6)+4*(-X1*X9**2+X1*X9*X8-2*X1*X9*X5-X1*X8*X5+2*X2*
& X10*X5+X2*X9*X7+X2*X9*X6-2*X2*X8*X7+3*X2*X6*X5+X3*X9*X5+
& X3*X5**2+X4*X9*X5-2*X4*X8*X5+2*X4*X5**2)
FM(2,2)=16*PQ**6+16*PQ**4*(-X1+X3-X4-X10+X7-X6)+16*PQ**2*(
& X3*X10+X3*X7+X3*X6+X4*X7+X10*X7)-16*X3*X10*X7
FM(2,3)=16*PQ**6+8*PQ**4*(-2*X1+X2+2*X3-4*X4-4*X10-X9+X8-2
& *X7-2*X6+X5)+8*PQ**2*(-2*X1*X5+4*X3*X10-X3*X9-X3*X8-2*X3*
& X7+2*X3*X6+X3*X5-2*X4*X5-2*X10*X5-2*X6*X5)+16*X3*X5*(X10+
& X6)
FM(2,4)=8*PQ**4*(-2*X1-2*X3+X10-X8)+4*PQ**2*(4*X1**2-2*X1*
& X2+8*X1*X4+6*X1*X10+4*X1*X9-2*X1*X8+4*X1*X7+4*X1*X6+2*X1*
& X5+X2*X10+4*X3*X4+3*X3*X9-2*X3*X7+2*X3*X5-X4*X8+2*X4*X6-4
& *X10*X6+3*X10*X5+3*X9*X6-3*X8*X7-4*X6**2+4*X6*X5)+8*(-X1
& **2*X9+X1**2*X8+X1*X2*X7-X1*X2*X6-X1*X3*X9-X1*X3*X5+X1*X4
& *X8+X1*X4*X5+X1*X10*X8-X1*X9*X6+X1*X8*X7+X1*X8*X6+X2*X3*
& X7-X2*X4*X6-X2*X10*X6-X2*X6**2-X3*X10*X5-X3*X7*X5-X3*X6*
& X5+X4*X6*X5)
FM(2,5)=16*PQ**4*X10+8*PQ**2*(2*X1**2+2*X1*X3+2*X1*X4+2*X1
& *X10+2*X1*X7+2*X1*X6+X3*X7+X4*X6)+8*(-2*X1**3-2*X1**2*X3-
& 2*X1**2*X4-2*X1**2*X10-2*X1**2*X7-2*X1**2*X6-2*X1*X3*X4-
& X1*X3*X10-2*X1*X3*X6-X1*X4*X10-2*X1*X4*X7-X1*X10**2-X1*
& X10*X7-X1*X10*X6-2*X1*X7*X6+X3**2*X7-X3*X4*X7-X3*X4*X6+X3
& *X10*X7+X3*X7**2-X3*X7*X6+X4**2*X6+X4*X10*X6-X4*X7*X6+X4*
& X6**2)
FM(2,6)=8*PQ**4*(-2*X1+X10-X9-2*X7)+4*PQ**2*(4*X1**2+2*X1*
& X2+4*X1*X3+4*X1*X4+6*X1*X10-2*X1*X9+4*X1*X8+8*X1*X6-2*X1*
& X5+4*X2*X4+3*X2*X10+2*X2*X7-3*X3*X9-2*X3*X7-4*X4**2-4*X4*
& X10+3*X4*X8+2*X4*X6+X10*X5-X9*X6+3*X8*X7+4*X7*X6)+8*(X1**
& 2*X9-X1**2*X8-X1*X2*X7+X1*X2*X6+X1*X3*X9+X1*X3*X5+X1*X4*
& X9-X1*X4*X8-X1*X4*X5+X1*X10*X9+X1*X9*X6-X1*X8*X7-X2*X3*X7
& -X2*X4*X7+X2*X4*X6-X2*X10*X7+X3*X7*X5-X4**2*X5-X4*X10*X5-
& X4*X6*X5)
FM(2,7)=8*PQ**4*(X3+2*X4+3*X10+X7+2*X6)+4*PQ**2*(-4*X1*X3-
& 2*X1*X4-2*X1*X10+X1*X9-X1*X8-4*X1*X7-2*X1*X6+X2*X3+2*X2*
& X4+3*X2*X10+X2*X7+2*X2*X6-6*X3*X4-6*X3*X10-2*X3*X9-2*X3*
& X7-4*X3*X6-X3*X5-6*X4**2-6*X4*X10-3*X4*X9-X4*X8-4*X4*X7-2
& *X4*X6-2*X4*X5-3*X10*X9-3*X10*X8-6*X10*X7-6*X10*X6+X10*X5
& +X9*X7-2*X8*X7-2*X8*X6-6*X7*X6+X7*X5-6*X6**2+2*X6*X5)+4*(
& -X1**2*X9+X1**2*X8-2*X1*X2*X10-3*X1*X2*X7-3*X1*X2*X6+X1*
& X3*X9-X1*X3*X5+X1*X4*X9+X1*X4*X8+X1*X4*X5+X1*X10*X9+X1*
& X10*X8-X1*X9*X6+X1*X8*X6+X2*X3*X7-3*X2*X4*X7-X2*X4*X6-3*
& X2*X10*X7-3*X2*X10*X6-3*X2*X7*X6-3*X2*X6**2-2*X3*X4*X5-X3
& *X10*X5-X3*X6*X5-X4**2*X5-X4*X10*X5+X4*X6*X5)
FM(2,8)=8*PQ**4*(X3+2*X4+3*X10+X7+2*X6)+4*PQ**2*(-4*X1*X3-
& 2*X1*X4-2*X1*X10-X1*X9+X1*X8-4*X1*X7-2*X1*X6+X2*X3+2*X2*
& X4+X2*X10-X2*X7-2*X2*X6-6*X3*X4-6*X3*X10-2*X3*X9+X3*X8-2*
& X3*X7-4*X3*X6+X3*X5-6*X4**2-6*X4*X10-2*X4*X9-4*X4*X7-2*X4
& *X6+2*X4*X5-3*X10*X9-3*X10*X8-6*X10*X7-6*X10*X6+3*X10*X5-
& X9*X6-2*X8*X7-3*X8*X6-6*X7*X6+X7*X5-6*X6**2+2*X6*X5)+4*(
& X1**2*X9-X1**2*X8-X1*X2*X7+X1*X2*X6-3*X1*X3*X5+X1*X4*X9-
& X1*X4*X8-3*X1*X4*X5+X1*X10*X9+X1*X10*X8-2*X1*X10*X5+X1*X9
& *X6+X1*X8*X7+X1*X8*X6-X2*X4*X7+X2*X4*X6-X2*X10*X7-X2*X10*
& X6-2*X2*X7*X6-X2*X6**2-3*X3*X4*X5-3*X3*X10*X5+X3*X7*X5-3*
& X3*X6*X5-3*X4**2*X5-3*X4*X10*X5-X4*X6*X5)
FM(3,3)=64*PQ**6+16*PQ**4*PH**2+32*PQ**4*(X1+X2+2*X3+X8+X6
& +2*X5)+8*PQ**2*PH**2*(-X1+2*X3-X6)+16*PQ**2*(X2*X5-2*X3*
& X8-2*X3*X6+4*X3*X5+X8*X5)+8*PH**2*X3*X6-16*X3*X8*X5
FM(3,4)=16*PQ**4*(-4*X1-X3+X8-X6)+4*PQ**2*PH**2*(-2*X1-X3-
& X6)+16*PQ**2*(-2*X1**2-3*X1*X2-2*X1*X3-3*X1*X8-2*X1*X6-3*
& X1*X5-2*X2*X3-2*X6*X5)-8*PH**2*X3*X6+8*(-X1*X2*X8-2*X1*X2
& *X5-X1*X8**2-X1*X8*X5+X2**2*X6-X2*X3*X5+X2*X8*X6-X2*X6*X5
& +X3*X8*X5+X3*X5**2)
FM(3,5)=8*PQ**4*(-2*X1+X10-X8-2*X6)+4*PQ**2*(4*X1**2+2*X1*
& X2+4*X1*X3+4*X1*X4+6*X1*X10+4*X1*X9-2*X1*X8+8*X1*X7-2*X1*
& X5+4*X2*X3+3*X2*X10+2*X2*X6-4*X3**2-4*X3*X10+3*X3*X9+2*X3
& *X7-3*X4*X8-2*X4*X6+X10*X5+3*X9*X6-X8*X7+4*X7*X6)+8*(-X1
& **2*X9+X1**2*X8+X1*X2*X7-X1*X2*X6-X1*X3*X9+X1*X3*X8-X1*X3
& *X5+X1*X4*X8+X1*X4*X5+X1*X10*X8-X1*X9*X6+X1*X8*X7+X2*X3*
& X7-X2*X3*X6-X2*X4*X6-X2*X10*X6-X3**2*X5-X3*X10*X5-X3*X7*
& X5+X4*X6*X5)
FM(3,6)=16*PQ**6+4*PQ**4*PH**2+16*PQ**4*(-X1-X2+2*X3+2*X4+
& X10-X9-X8-X7-X6+X5)+4*PQ**2*PH**2*(X1+2*X3+2*X4+X10+X7+X6
& )+8*PQ**2*(4*X1*X3+4*X1*X4+4*X1*X10+4*X2*X3+4*X2*X4+4*X2*
& X10-X2*X5+4*X3*X5+4*X4*X5+2*X10*X5-X9*X5-X8*X5)-(8*PH**2*
& X1)*(X3+X4+X10)+16*X2*X5*(X3+X4+X10)
FM(3,7)=8*PQ**4*(3*X3+6*X4+3*X10+X9+2*X8+2*X7+X6)+2*PQ**2*
& PH**2*(X3+2*X4+2*X10-2*X7-X6)+4*PQ**2*(4*X1*X3+8*X1*X4+4*
& X1*X10+2*X1*X9-2*X1*X8+2*X2*X3+10*X2*X4+5*X2*X10+2*X2*X9+
& X2*X8+2*X2*X7+4*X2*X6-7*X3*X9+2*X3*X8-8*X3*X7+4*X3*X6+4*
& X3*X5+5*X4*X8+4*X4*X6+8*X4*X5+5*X10*X5-X9*X8-X9*X6+X9*X5+
& X8**2-X8*X7+2*X8*X6+2*X8*X5)+2*PH**2*(-X1*X10+X3*X7-2*X3*
& X6+X4*X6)+4*(-X1*X2*X9-2*X1*X2*X8+X1*X9*X8-X1*X8**2+X2**2
& *X7+2*X2**2*X6+3*X2*X4*X5+2*X2*X10*X5-2*X2*X9*X6+X2*X8*X7
& +X2*X8*X6-2*X3*X9*X5+X3*X8*X5+X4*X8*X5)
FM(3,8)=8*PQ**4*(3*X3+6*X4+3*X10+2*X9+X8+2*X7+X6)+2*PQ**2*
& PH**2*(3*X3+6*X4+3*X10-2*X7-X6)+4*PQ**2*(4*X1*X3+8*X1*X4+
& 4*X1*X10+4*X2*X3+8*X2*X4+4*X2*X10-8*X3*X9+4*X3*X8-8*X3*X7
& +4*X3*X6+6*X3*X5+4*X4*X8+4*X4*X6+12*X4*X5+6*X10*X5+2*X9*
& X5+X8*X5)+4*PH**2*(-X1*X3-2*X1*X4-X1*X10+2*X3*X7-X3*X6-X4
& *X6)+8*X5*(X2*X3+2*X2*X4+X2*X10-2*X3*X9+X3*X8+X4*X8)
FM(4,4)=64*PQ**6+16*PQ**4*PH**2+32*PQ**4*(X1+2*X2+X3+X8+2*
& X6+X5)+8*PQ**2*PH**2*(-X1-X3+2*X6)+16*PQ**2*(X2*X8+4*X2*
& X6+X2*X5-2*X3*X6-2*X8*X6)+8*PH**2*X3*X6-16*X2*X8*X6
FM(4,5)=16*PQ**6+8*PQ**4*(-2*X1+X2-2*X3-2*X4-4*X10-X9+X8-4
& *X7+2*X6+X5)+8*PQ**2*(-2*X1*X2-2*X2*X3-2*X2*X10-2*X2*X7+
& X2*X6+2*X3*X6-2*X4*X6+4*X10*X6-X9*X6-X8*X6)+16*X2*X6*(X3+
& X10)
FM(4,6)=16*PQ**6-4*PQ**4*PH**2+8*PQ**4*(-2*X1+2*X2-4*X3-2*
& X4-8*X10+X9+X8-4*X7-2*X6+2*X5)-(4*PQ**2*PH**2)*(X1+X3+X10
& +X7)+8*PQ**2*(-2*X1*X2-2*X1*X10+X1*X9+X1*X8-2*X1*X5+X2**2
& -4*X2*X3-5*X2*X10+X2*X9-3*X2*X7-X2*X6+X2*X5+X3*X9+2*X3*X7
& -3*X3*X5+X4*X8+2*X4*X6-X4*X5-5*X10*X5+X9*X8+X9*X6+X8*X7+
& X8*X5-4*X7*X5+X5**2)-(16*X2*X5)*(X1+X3+X10+X7)
FM(4,7)=8*PQ**4*(-X3-2*X4-3*X10-2*X9-X8-6*X7-3*X6)+2*PQ**2
& *PH**2*(X3+2*X4-3*X10-6*X7-3*X6)+4*PQ**2*(-4*X1*X10-8*X1*
& X7-4*X1*X6-6*X2*X10-2*X2*X9-X2*X8-12*X2*X7-6*X2*X6-4*X3*
& X7-4*X3*X6+8*X4*X6-4*X10*X5+8*X9*X6-4*X8*X7-4*X8*X6-8*X7*
& X5-4*X6*X5)+4*PH**2*(X1*X10+2*X1*X7+X1*X6+X3*X7+X3*X6-2*
& X4*X6)+8*X2*(-X10*X5+2*X9*X6-X8*X7-X8*X6-2*X7*X5-X6*X5)
FM(4,8)=8*PQ**4*(-X3-2*X4-3*X10-X9-2*X8-6*X7-3*X6)+2*PQ**2
& *PH**2*(X3+2*X4-2*X10-2*X7-X6)+4*PQ**2*(-4*X1*X10-2*X1*X9
& +2*X1*X8-8*X1*X7-4*X1*X6-5*X2*X10-X2*X9-2*X2*X8-8*X2*X7-4
& *X2*X6+X3*X9-2*X3*X8-4*X3*X7-4*X3*X6-4*X3*X5+X4*X8+8*X4*
& X6-2*X4*X5-5*X10*X5+X9*X8+7*X9*X6-2*X9*X5-X8**2-5*X8*X7-2
& *X8*X6-X8*X5-10*X7*X5-2*X6*X5)+2*PH**2*(X1*X10-X3*X7+2*X3
& *X6-X4*X6)+4*(-X1*X9*X8+X1*X9*X5+X1*X8**2+2*X1*X8*X5-2*X2
& *X10*X5+2*X2*X9*X6-X2*X8*X7-X2*X8*X6-3*X2*X7*X5+2*X3*X9*
& X5-X3*X8*X5-2*X3*X5**2-X4*X8*X5-X4*X5**2)
FM(5,5)=16*PQ**6+16*PQ**4*(-X1-X3+X4-X10-X7+X6)+16*PQ**2*(
& X3*X6+X4*X10+X4*X7+X4*X6+X10*X6)-16*X4*X10*X6
FM(5,6)=16*PQ**6+8*PQ**4*(-2*X1+X2-4*X3+2*X4-4*X10+X9-X8-2
& *X7-2*X6+X5)+8*PQ**2*(-2*X1*X5-2*X3*X5+4*X4*X10-X4*X9-X4*
& X8+2*X4*X7-2*X4*X6+X4*X5-2*X10*X5-2*X7*X5)+16*X4*X5*(X10+
& X7)
FM(5,7)=8*PQ**4*(-2*X3-X4-3*X10-2*X7-X6)+4*PQ**2*(2*X1*X3+
& 4*X1*X4+2*X1*X10+X1*X9-X1*X8+2*X1*X7+4*X1*X6-2*X2*X3-X2*
& X4-3*X2*X10-2*X2*X7-X2*X6+6*X3**2+6*X3*X4+6*X3*X10+X3*X9+
& 3*X3*X8+2*X3*X7+4*X3*X6+2*X3*X5+6*X4*X10+2*X4*X8+4*X4*X7+
& 2*X4*X6+X4*X5+3*X10*X9+3*X10*X8+6*X10*X7+6*X10*X6-X10*X5+
& 2*X9*X7+2*X9*X6-X8*X6+6*X7**2+6*X7*X6-2*X7*X5-X6*X5)+4*(-
& X1**2*X9+X1**2*X8+2*X1*X2*X10+3*X1*X2*X7+3*X1*X2*X6-X1*X3
& *X9-X1*X3*X8-X1*X3*X5-X1*X4*X8+X1*X4*X5-X1*X10*X9-X1*X10*
& X8-X1*X9*X7+X1*X8*X7+X2*X3*X7+3*X2*X3*X6-X2*X4*X6+3*X2*
& X10*X7+3*X2*X10*X6+3*X2*X7**2+3*X2*X7*X6+X3**2*X5+2*X3*X4
& *X5+X3*X10*X5-X3*X7*X5+X4*X10*X5+X4*X7*X5)
FM(5,8)=8*PQ**4*(-2*X3-X4-3*X10-2*X7-X6)+4*PQ**2*(2*X1*X3+
& 4*X1*X4+2*X1*X10-X1*X9+X1*X8+2*X1*X7+4*X1*X6-2*X2*X3-X2*
& X4-X2*X10+2*X2*X7+X2*X6+6*X3**2+6*X3*X4+6*X3*X10+2*X3*X8+
& 2*X3*X7+4*X3*X6-2*X3*X5+6*X4*X10-X4*X9+2*X4*X8+4*X4*X7+2*
& X4*X6-X4*X5+3*X10*X9+3*X10*X8+6*X10*X7+6*X10*X6-3*X10*X5+
& 3*X9*X7+2*X9*X6+X8*X7+6*X7**2+6*X7*X6-2*X7*X5-X6*X5)+4*(
& X1**2*X9-X1**2*X8-X1*X2*X7+X1*X2*X6+X1*X3*X9-X1*X3*X8+3*
& X1*X3*X5+3*X1*X4*X5-X1*X10*X9-X1*X10*X8+2*X1*X10*X5-X1*X9
& *X7-X1*X9*X6-X1*X8*X7-X2*X3*X7+X2*X3*X6+X2*X10*X7+X2*X10*
& X6+X2*X7**2+2*X2*X7*X6+3*X3**2*X5+3*X3*X4*X5+3*X3*X10*X5+
& X3*X7*X5+3*X4*X10*X5+3*X4*X7*X5-X4*X6*X5)
FM(6,6)=64*PQ**6+16*PQ**4*PH**2+32*PQ**4*(X1+X2+2*X4+X9+X7
& +2*X5)+8*PQ**2*PH**2*(-X1+2*X4-X7)+16*PQ**2*(X2*X5-2*X4*
& X9-2*X4*X7+4*X4*X5+X9*X5)+8*PH**2*X4*X7-16*X4*X9*X5
FM(6,7)=8*PQ**4*(-6*X3-3*X4-3*X10-2*X9-X8-X7-2*X6)+2*PQ**2
& *PH**2*(-2*X3-X4-2*X10+X7+2*X6)+4*PQ**2*(-8*X1*X3-4*X1*X4
& -4*X1*X10+2*X1*X9-2*X1*X8-10*X2*X3-2*X2*X4-5*X2*X10-X2*X9
& -2*X2*X8-4*X2*X7-2*X2*X6-5*X3*X9-4*X3*X7-8*X3*X5-2*X4*X9+
& 7*X4*X8-4*X4*X7+8*X4*X6-4*X4*X5-5*X10*X5-X9**2+X9*X8-2*X9
& *X7+X9*X6-2*X9*X5+X8*X7-X8*X5)+2*PH**2*(X1*X10-X3*X7+2*X4
& *X7-X4*X6)+4*(2*X1*X2*X9+X1*X2*X8+X1*X9**2-X1*X9*X8-2*X2
& **2*X7-X2**2*X6-3*X2*X3*X5-2*X2*X10*X5-X2*X9*X7-X2*X9*X6+
& 2*X2*X8*X7-X3*X9*X5-X4*X9*X5+2*X4*X8*X5)
FM(6,8)=8*PQ**4*(-6*X3-3*X4-3*X10-X9-2*X8-X7-2*X6)+2*PQ**2
& *PH**2*(-6*X3-3*X4-3*X10+X7+2*X6)+4*PQ**2*(-8*X1*X3-4*X1*
& X4-4*X1*X10-8*X2*X3-4*X2*X4-4*X2*X10-4*X3*X9-4*X3*X7-12*
& X3*X5-4*X4*X9+8*X4*X8-4*X4*X7+8*X4*X6-6*X4*X5-6*X10*X5-X9
& *X5-2*X8*X5)+4*PH**2*(2*X1*X3+X1*X4+X1*X10+X3*X7+X4*X7-2*
& X4*X6)+8*X5*(-2*X2*X3-X2*X4-X2*X10-X3*X9-X4*X9+2*X4*X8)
FM(7,7)=72*PQ**4*X10+18*PQ**2*PH**2*X10+8*PQ**2*(X1*X10+9*
& X2*X10+7*X3*X7+2*X3*X6+2*X4*X7+7*X4*X6+X10*X5+2*X9*X7+7*
& X9*X6+7*X8*X7+2*X8*X6)+2*PH**2*(-X1*X10-7*X3*X7-2*X3*X6-2
& *X4*X7-7*X4*X6)+4*X2*(X10*X5+2*X9*X7+7*X9*X6+7*X8*X7+2*X8
& *X6)
FM(7,8)=72*PQ**4*X10+2*PQ**2*PH**2*X10+4*PQ**2*(2*X1*X10+
& 10*X2*X10+7*X3*X9+2*X3*X8+14*X3*X7+4*X3*X6+2*X4*X9+7*X4*
& X8+4*X4*X7+14*X4*X6+10*X10*X5+X9**2+7*X9*X8+2*X9*X7+7*X9*
& X6+X8**2+7*X8*X7+2*X8*X6)+2*PH**2*(7*X1*X10-7*X3*X7-2*X3*
& X6-2*X4*X7-7*X4*X6)+2*(-2*X1*X9**2-14*X1*X9*X8-2*X1*X8**2
& +2*X2*X10*X5+2*X2*X9*X7+7*X2*X9*X6+7*X2*X8*X7+2*X2*X8*X6+
& 7*X3*X9*X5+2*X3*X8*X5+2*X4*X9*X5+7*X4*X8*X5)
FM(8,8)=72*PQ**4*X10+18*PQ**2*PH**2*X10+8*PQ**2*(X1*X10+X2
& *X10+7*X3*X9+2*X3*X8+7*X3*X7+2*X3*X6+2*X4*X9+7*X4*X8+2*X4
& *X7+7*X4*X6+9*X10*X5)+2*PH**2*(-X1*X10-7*X3*X7-2*X3*X6-2*
& X4*X7-7*X4*X6)+4*X5*(X2*X10+7*X3*X9+2*X3*X8+2*X4*X9+7*X4*
& X8)
FM(9,9)=-4*PQ**4*X10-PQ**2*PH**2*X10+4*PQ**2*(-X1*X10-X2*X10+
& X3*X7+X4*X6-X10*X5+X9*X6+X8*X7)+PH**2*(X1*X10-X3*X7-X4*X6
& )+2*X2*(-X10*X5+X9*X6+X8*X7)
FM(9,10)=-4*PQ**4*X10-PQ**2*PH**2*X10+2*PQ**2*(-2*X1*X10-2*X2*
& X10+2*X3*X9+2*X3*X7+2*X4*X6-2*X10*X5+X9*X8+2*X8*X7)+PH**2
& *(X1*X10-X3*X7-X4*X6)+2*(-X1*X9*X8-X2*X10*X5+X2*X8*X7+X3*
& X9*X5)
FMXX=-4*PQ**4*X10-PQ**2*PH**2*X10+2*PQ**2*(-2*X1*X10-2*X2*
& X10+2*X4*X8+2*X4*X6+2*X3*X7-2*X10*X5+X9*X8+2*X9*X6)+PH**2
& *(X1*X10-X3*X7-X4*X6)+2*(-X1*X9*X8-X2*X10*X5+X2*X9*X6+X4*
& X8*X5)
FM(9,10)=0.5D0*(FMXX+FM(9,10))
FM(10,10)=-4*PQ**4*X10-PQ**2*PH**2*X10+4*PQ**2*(-X1*X10-X2*X10+
& X3*X7+X4*X6-X10*X5+X9*X3+X8*X4)+PH**2*(X1*X10-X3*X7-X4*X6
& )+2*X5*(-X10*X2+X9*X3+X8*X4)
C...Repackage matrix elements.
DO 200 I=1,8
DO 190 J=I,8
RM(I,J)=FM(I,J)
190 CONTINUE
200 CONTINUE
RM(7,7)=FM(7,7)-2D0*FM(9,9)
RM(7,8)=FM(7,8)-2D0*FM(9,10)
RM(8,8)=FM(8,8)-2D0*FM(10,10)
C...Produce final result: matrix elements * colours * propagators.
DO 220 I=1,8
DO 210 J=I,8
FAC=8D0
IF(I.EQ.J)FAC=4D0
WTQQBH=WTQQBH+RM(I,J)*FAC*CLR(I,J)/(DX(I)*DX(J))
210 CONTINUE
220 CONTINUE
WTQQBH=-WTQQBH/256D0
ELSE
C...Evaluate matrix elements for q + qbar -> Q + Qbar + H.
A11=-8D0*PQ**4*X10-2D0*PQ**2*PH**2*X10-(8D0*PQ**2)*(X2*X10+X3
& *X7+X4*X6+X9*X6+X8*X7)+2D0*PH**2*(X3*X7+X4*X6)-(4D0*X2)*(X9
& *X6+X8*X7)
A12=-8D0*PQ**4*X10+4D0*PQ**2*(-X2*X10-X3*X9-2D0*X3*X7-X4*X8-
& 2D0*X4*X6-X10*X5-X9*X8-X9*X6-X8*X7)+2D0*PH**2*(-X1*X10+X3*X7
& +X4*X6)+2D0*(2D0*X1*X9*X8-X2*X9*X6-X2*X8*X7-X3*X9*X5-X4*X8*
& X5)
A22=-8D0*PQ**4*X10-2D0*PQ**2*PH**2*X10-(8D0*PQ**2)*(X3*X9+X3*
& X7+X4*X8+X4*X6+X10*X5)+2D0*PH**2*(X3*X7+X4*X6)-(4D0*X5)*(X3
& *X9+X4*X8)
C...Produce final result: matrix elements * propagators.
A11=A11/DX(7)**2
A12=A12/(DX(7)*DX(8))
A22=A22/DX(8)**2
WTQQBH=-(A11+A22+2D0*A12)*8D0/9D0
ENDIF
RETURN
END
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (6 preceding siblings ...)
2021-11-01 10:43 ` juergen.reuter at desy dot de
@ 2021-11-01 10:45 ` juergen.reuter at desy dot de
2021-11-01 10:59 ` tnfchris at gcc dot gnu.org
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: juergen.reuter at desy dot de @ 2021-11-01 10:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
--- Comment #6 from Jürgen Reuter <juergen.reuter at desy dot de> ---
Created attachment 51716
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51716&action=edit
gfortran appearance of the ICE
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (7 preceding siblings ...)
2021-11-01 10:45 ` juergen.reuter at desy dot de
@ 2021-11-01 10:59 ` tnfchris at gcc dot gnu.org
2021-11-01 12:32 ` juergen.reuter at desy dot de
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2021-11-01 10:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
--- Comment #7 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Yes, I've posted a patch for this already
https://gcc.gnu.org/pipermail/gcc-patches/2021-November/583008.html
waiting review.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (8 preceding siblings ...)
2021-11-01 10:59 ` tnfchris at gcc dot gnu.org
@ 2021-11-01 12:32 ` juergen.reuter at desy dot de
2021-11-01 13:06 ` mario-baumann at web dot de
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: juergen.reuter at desy dot de @ 2021-11-01 12:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
--- Comment #8 from Jürgen Reuter <juergen.reuter at desy dot de> ---
(In reply to Jürgen Reuter from comment #6)
> Created attachment 51716 [details]
> gfortran appearance of the ICE
Just for completeness, this example needs to be compiled with -O2, while
-O0 and -O1 work fine.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (9 preceding siblings ...)
2021-11-01 12:32 ` juergen.reuter at desy dot de
@ 2021-11-01 13:06 ` mario-baumann at web dot de
2021-11-01 13:08 ` mario-baumann at web dot de
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: mario-baumann at web dot de @ 2021-11-01 13:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Mario Baumann <mario-baumann at web dot de> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mario-baumann at web dot de
--- Comment #9 from Mario Baumann <mario-baumann at web dot de> ---
Created attachment 51718
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51718&action=edit
smaller Fortran example
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (10 preceding siblings ...)
2021-11-01 13:06 ` mario-baumann at web dot de
@ 2021-11-01 13:08 ` mario-baumann at web dot de
2021-11-02 8:17 ` rguenth at gcc dot gnu.org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: mario-baumann at web dot de @ 2021-11-01 13:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
--- Comment #10 from Mario Baumann <mario-baumann at web dot de> ---
Added smaller Fortran example foo.F.
Same behaviour, fails with ICE for -O2 and works with -O1 and -O0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (11 preceding siblings ...)
2021-11-01 13:08 ` mario-baumann at web dot de
@ 2021-11-02 8:17 ` rguenth at gcc dot gnu.org
2021-11-02 13:28 ` cvs-commit at gcc dot gnu.org
2021-11-02 13:33 ` tnfchris at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-11-02 8:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (12 preceding siblings ...)
2021-11-02 8:17 ` rguenth at gcc dot gnu.org
@ 2021-11-02 13:28 ` cvs-commit at gcc dot gnu.org
2021-11-02 13:33 ` tnfchris at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-11-02 13:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tamar Christina <tnfchris@gcc.gnu.org>:
https://gcc.gnu.org/g:6cc8aa65fdeaefe9774d5e0d4e72c91f52313be1
commit r12-4846-g6cc8aa65fdeaefe9774d5e0d4e72c91f52313be1
Author: Tamar Christina <tamar.christina@arm.com>
Date: Tue Nov 2 13:26:36 2021 +0000
middle-end: Fix PR103007, add missing check on complex fms detection.
The complex FMS detection is missing a check on if the nodes of the
VEC_PERM
has the amount of children we expect before it recurses.
This check is there on MUL and FMA but was missing for FMS, due to this the
compiler goes on further than it should and hits an assert.
gcc/ChangeLog:
PR tree-optimization/103007
* tree-vect-slp-patterns.c (complex_fms_pattern::matches): Add elem
check.
gcc/testsuite/ChangeLog:
PR tree-optimization/103007
* g++.dg/pr103007.C: New test.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
` (13 preceding siblings ...)
2021-11-02 13:28 ` cvs-commit at gcc dot gnu.org
@ 2021-11-02 13:33 ` tnfchris at gcc dot gnu.org
14 siblings, 0 replies; 16+ messages in thread
From: tnfchris at gcc dot gnu.org @ 2021-11-02 13:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103007
Tamar Christina <tnfchris at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #12 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Fixed, thanks for the report.
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2021-11-02 13:33 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-30 18:18 [Bug c++/103007] New: ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 dcb314 at hotmail dot com
2021-10-30 20:05 ` [Bug c++/103007] " dcb314 at hotmail dot com
2021-10-30 23:14 ` [Bug tree-optimization/103007] [12 Regression] " pinskia at gcc dot gnu.org
2021-10-30 23:33 ` pinskia at gcc dot gnu.org
2021-11-01 3:36 ` [Bug tree-optimization/103007] [12 Regression] ice in vect_normalize_conj_loc, at tree-vect-slp-patterns.c:722 since r12-4785-ged3de62ac949c92ad41ef6de7cc926fbb2a510ce marxin at gcc dot gnu.org
2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
2021-11-01 7:26 ` tnfchris at gcc dot gnu.org
2021-11-01 10:43 ` juergen.reuter at desy dot de
2021-11-01 10:45 ` juergen.reuter at desy dot de
2021-11-01 10:59 ` tnfchris at gcc dot gnu.org
2021-11-01 12:32 ` juergen.reuter at desy dot de
2021-11-01 13:06 ` mario-baumann at web dot de
2021-11-01 13:08 ` mario-baumann at web dot de
2021-11-02 8:17 ` rguenth at gcc dot gnu.org
2021-11-02 13:28 ` cvs-commit at gcc dot gnu.org
2021-11-02 13:33 ` tnfchris at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).