[llvm-bugs] [Bug 43729] New: Regression in "[X86][SSE] LowerUINT_TO_FP_i64 - only use HADDPD for size/fast-hops"
via llvm-bugs
llvm-bugs at lists.llvm.org
Sun Oct 20 02:43:19 PDT 2019
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: unassignedbugs at nondot.org
Reporter: martin at martin.st
CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
llvm-dev at redking.me.uk, spatel+llvm at rotateright.com
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20191020/b44a00a7/attachment.html>
More information about the llvm-bugs
mailing list