[Bug target/96357] New: [10/11 Regression] could not split insn UNSPEC_COND_FSUB with AArch64 SVE
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 28 14:59:20 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96357
Bug ID: 96357
Summary: [10/11 Regression] could not split insn
UNSPEC_COND_FSUB with AArch64 SVE
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
The reduced testcase:
typedef int a;
int d;
void e(char f, char *g, char *h, char *l, char * n) {
double i = d, j = 1.0 - f, k = j ? d : j;
if (k == 1.0)
i = 0.0;
*g = *h = i * 0.5;
*l = *n = 0;
}
void o() {
int a, m, c = o;
for (; c; c--) {
char b = a++;
e(b, m, m + 1, m + 2, m + 3);
m += 4;
}
}
ICEs with -w -O3 -march=arvm8.2-a+sve
reduced.c: In function ‘o’:
reduced.c:18:1: error: could not split insn
18 | }
| ^
(insn 145 401 149 (set (reg:VNx2DF 39 v7 [orig:145 _127 ] [145])
(unspec:VNx2DF [
(reg:VNx2BI 69 p1 [318])
(unspec:VNx2DF [
(reg:VNx2BI 78 p10 [318])
(const_int 1 [0x1])
(const_vector:VNx2DF [
(const_double:DF 1.0e+0 [0x0.8p+1])
])
(reg:VNx2DF 37 v5 [orig:152 vect__27.15 ] [152])
] UNSPEC_COND_FSUB)
(reg:VNx2DF 48 v16 [orig:140 vect_i_26.13 ] [140])
] UNSPEC_SEL)) 5775 {*cond_subvnx2df_any_const}
(expr_list:REG_DEAD (reg:VNx2BI 78 p10 [318])
(expr_list:REG_DEAD (reg:VNx2BI 69 p1 [318])
(expr_list:REG_DEAD (reg:VNx2DF 37 v5 [orig:152 vect__27.15 ]
[152])
(nil)))))
during RTL pass: final
More information about the Gcc-bugs
mailing list