http://llvm.org/bugs/show_bug.cgi?id=21623
Bug ID: 21623
Summary: Instcombine folds constant @llvm.fma.f80 to wrong
value
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Transformation Utilities
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Classification: Unclassified
InstCombine folds constant @llvm.fma.f80 to wrong value.
This can reproduce as follows, where llvm.fma.f80 is folded to
0xK40008000000000000000, which is 2.0L.
$ cat foo.ll
declare x86_fp80 @llvm.fma.f80(x86_fp80, x86_fp80, x86_fp80)
define x86_fp80 @test() {
%1 = call x86_fp80 @llvm.fma.f80(
x86_fp80 0xK40008000000000000000, ; 2.0L
x86_fp80 0xK4000C000000000000000, ; 3.0L
x86_fp80 0xK40018000000000000000) ; 4.0L
ret x86_fp80 %1 ; should be 10.0L
}
$ opt -instcombine -S -o - foo.ll
; ModuleID = 'hoge.ll'
; Function Attrs: nounwind readnone
declare x86_fp80 @llvm.fma.f80(x86_fp80, x86_fp80, x86_fp80) #0
define x86_fp80 @test() {
ret x86_fp80 0xK40008000000000000000
}
attributes #0 = { nounwind readnone }
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs