https://bugs.llvm.org/show_bug.cgi?id=43729
Bug ID: 43729
Summary: Regression in "[X86][SSE] LowerUINT_TO_FP_i64 - only
use HADDPD for size/fast-hops"
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: X86
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected],
[email protected], [email protected]
Created attachment 22691
--> https://bugs.llvm.org/attachment.cgi?id=22691&action=edit
Reprouction C sample
Since SVN r375341, "[X86][SSE] LowerUINT_TO_FP_i64 - only use HADDPD for
size/fast-hops", building ffmpeg/libav for mingw, both i686 and x86_64, errors
out like this:
fatal error: error in backend: Cannot select: t22: v2f64 = X86ISD::FHADD t21,
t2
1
t21: v2f64 = fsub t20, t44
t20: v2f64 = bitcast t39
t39: v4i32 = X86ISD::UNPCKL t17, t16
t17: v4i32 = bitcast t14
t14: v2i64 = scalar_to_vector t7
t7: i64,ch = CopyFromReg t0, Register:i64 %150
t6: i64 = Register %150
t16: v4i32,ch = load<(load 16 from constant-pool)> t0, t43, undef:i64
t43: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<<4 x i32> <i32
11
27219200, i32 1160773632, i32 0, i32 0>> 0
t42: i64 = TargetConstantPool<<4 x i32> <i32 1127219200, i32
1160773
632, i32 0, i32 0>> 0
t15: i64 = undef
t44: v2f64,ch = load<(load 16 from constant-pool)> t0, t41, undef:i64
t41: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<<2 x double> <double
0x4330000000000000, double 0x4530000000000000>> 0
t40: i64 = TargetConstantPool<<2 x double> <double 0x4330000000000000,
d
ouble 0x4530000000000000>> 0
t15: i64 = undef
t21: v2f64 = fsub t20, t44
t20: v2f64 = bitcast t39
t39: v4i32 = X86ISD::UNPCKL t17, t16
t17: v4i32 = bitcast t14
t14: v2i64 = scalar_to_vector t7
t7: i64,ch = CopyFromReg t0, Register:i64 %150
t6: i64 = Register %150
t16: v4i32,ch = load<(load 16 from constant-pool)> t0, t43, undef:i64
t43: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<<4 x i32> <i32
1127219200, i32 1160773632, i32 0, i32 0>> 0
t42: i64 = TargetConstantPool<<4 x i32> <i32 1127219200, i32
1160773632, i32 0, i32 0>> 0
t15: i64 = undef
t44: v2f64,ch = load<(load 16 from constant-pool)> t0, t41, undef:i64
t41: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<<2 x double> <double
0x4330000000000000, double 0x4530000000000000>> 0
t40: i64 = TargetConstantPool<<2 x double> <double 0x4330000000000000,
double 0x4530000000000000>> 0
t15: i64 = undef
In function: ffv1_encode_init
This is reproducible with the attached source file, with "clang -target
x86_64-w64-mingw32 -c -O2 ffv1enc.c".
--
You are receiving this mail because:
You are on the CC list for the bug._______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs