https://llvm.org/bugs/show_bug.cgi?id=31593
Bug ID: 31593
Summary: Error in backend: Cannot select: t57: v2i64 =
zero_extend_vector_inreg t61
Product: new-bugs
Version: trunk
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Classification: Unclassified
Starting with r291120, we started to see this error in one of our tests when
the compiler is targeting the PS4 platform with -O2 or higher.
To reproduce the failure, compile the following code with -O2 or higher and
targeting the PS4 (--target=x86_64-scei-ps4):
typedef int __v4si __attribute__((__vector_size__(16)));
typedef long long __m128i __attribute__((__vector_size__(16)));
struct S {
typedef S &SR;
int a() const;
void b(SR a, SR b);
void c(SR a, int t);
void d(SR a, SR b);
__m128i m_quad;
};
int S::a() const {
return ({
__v4si __a = (m_quad);
__a[0];
});
}
void S::c(SR a, int t) {
m_quad = __builtin_ia32_pslldi128(m_quad, t);
}
void foo() {
S zero;
int t;
S e;
e.d(e, zero);
t = e.a();
S s;
s.c(e, t);
S u;
S f;
f.b(u, s);
}
When compiled with a compiler built from r291120 and targeting the PS4 using
-O2, I get the following error:
fatal error: error in backend: Cannot select: t57: v2i64 =
zero_extend_vector_inreg t61
t61: v4i32 = bitcast t60
t60: v2i64,ch = load<LD16[%3](tbaa=<0x2504c38>)(dereferenceable)> t24,
FrameIndex:i64<2>, undef:i64
t9: i64 = FrameIndex<2>
t2: i64 = undef
In function: _Z3foov
clang.exe: error: clang frontend command failed with exit code 70 (use -v to
see invocation)
clang version 4.0.0 (trunk 291120)
Target: x86_64-scei-ps4
Thread model: posix
InstalledDir: c:\src\upstream\291120\Release\bin
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs