Skip to content

AVX-512: Unable to copy EFLAGS physical register! #38151

Closed
@llvmbot

Description

@llvmbot
Bugzilla Link 38803
Resolution FIXED
Resolved on Oct 19, 2018 12:14
Version 7.0
OS Linux
Blocks #38454
Attachments tab.cpp
Reporter LLVM Bugzilla Contributor
CC @chandlerc,@topperc,@francisvm,@RKSimon,@tstellar
Fixed by commit(s) r343443 r343428 r344804 r344805

Extended Description

We've got a bug report from one of our users attempting to build Chromium using clang. The build is failing for him with the following error message:

fatal error: error in backend: Unable to copy EFLAGS physical register!
x86_64-pc-linux-gnu-clang++: error: clang frontend command failed with exit code 70 (use -v to see invocation)

I'm attaching a minimal test case prepared by Sergei Trofimovich:

// $ clang++ -march=skylake-avx512 -O2 tab.cpp
// fatal error: error in backend: Unable to copy EFLAGS physical register!
bool a();
int b, c;
float d;

float fn2() {
int e = a();
double f = e ? 0.75f : 0;
if (c)
d = e ? 0 : b;
return f;
}

I was able to reproduce the issue with today's LLVM+Clang trunk.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions