mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
29d9b03630
Summary: Some FPMathOperators succeed and the retrieve FMF context when they never have it, we should omit these cases to keep from removing FMF context. For instance when we visit some FPMathOperator mapped Instructions which never have FMF flags and a Node was associated which does have FMF flags, that Node today will have all its flags cleared via the intersect operation. With this change, we exclude associating Nodes that never have FPMathOperator status under FMF. Reviewers: spatel, wristow, arsenm, hfinkel, aemerson Reviewed By: spatel Subscribers: llvm-commits, wdng Differential Revision: https://reviews.llvm.org/D51145 llvm-svn: 342081
14 lines
515 B
LLVM
14 lines
515 B
LLVM
; RUN: llc -mtriple=i686-unknown-unknown -mattr=+avx512f < %s | FileCheck %s
|
|
|
|
define float @test_x86_fma_intersection_fmf(float %a, float %b) {
|
|
; CHECK-LABEL: test_x86_fma_intersection_fmf:
|
|
; CHECK: # %bb.0:
|
|
; CHECK: vfmadd132ss {{[0-9]+}}(%esp), %xmm0, %xmm0
|
|
; CHECK: retl
|
|
%tmp8 = fmul fast float %a, %b
|
|
%tmp9 = fadd fast float %tmp8, %b
|
|
%tmp10 = insertelement <4 x float> undef, float %tmp9, i32 1
|
|
%tmp11 = extractelement <4 x float> %tmp10, i32 1
|
|
ret float %tmp11
|
|
}
|