Skip to content

ICE: "Cannot select: X86ISD::SUBV_BROADCAST" with -O3 -march=skx #42164

@Vsevolod-Livinskij

Description

@Vsevolod-Livinskij
Bugzilla Link 42819
Resolution FIXED
Resolved on Aug 06, 2019 01:08
Version trunk
OS Windows NT
Blocks #41819
CC @dbabokin,@topperc,@davidbolvansky,@zmodem,@RKSimon,@regehr,@rotateright,@Vsevolod-Livinskij
Fixed by commit(s) r367306

Extended Description

Clang fails with ICE.

Reproducer:
extern int a[], b[];
void c() {
for (int d = 32; d <= 57; d++)
b[d] = a[d] + a[d - 3];
}

Error:

$ clang -c -O3 -march=skx small.c
fatal error: error in backend: Cannot select: t116: v2i64 = X86ISD::SUBV_BROADCAST t113
t113: v4i64 = bitcast t9
t9: v8i32,ch = load<(load 32 from <8 x i32>* bitcast (i32* getelementptr inbounds ([0 x i32], [0 x i32]* @&#8203;a, i64 0, i64 45) to <8 x i32>*), align 4, !tbaa !​2)> t0, t156, undef:i64
t156: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[0 x i32]* @​a> + 180
t155: i64 = TargetGlobalAddress<[0 x i32]* @​a> + 180
t5: i64 = undef
In function: c
clang-10: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 10.0.0 (trunk 367162)
Target: x86_64-unknown-linux-gnu
Thread model: posix

LLVM version:
clang version 10.0.0 (trunk 367162)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions