mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 12:12:47 +01:00
065f5d3388
This removes the after the fact FMF handling from D46854 in favor of passing fast math flags to getNode. This should be a superset of D87130. This required adding a SDNodeFlags to SelectionDAG::getSetCC. Now we manage to contant fold some stuff undefs during the initial getNode that we don't do in later DAG combines. Differential Revision: https://reviews.llvm.org/D87200
18 lines
467 B
LLVM
18 lines
467 B
LLVM
; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
|
|
;
|
|
; Check that a multiply-and-add results.
|
|
|
|
define void @f1(float %arg, float* %Dst) {
|
|
; CHECK-LABEL: f1:
|
|
; CHECK: maeb
|
|
bb:
|
|
%i = fmul contract float %arg, 0xBE6777A5C0000000
|
|
%i4 = fadd contract float %i, 1.000000e+00
|
|
%i5 = fmul contract float %arg, 0xBE6777A5C0000000
|
|
%i6 = fadd contract float %i5, 1.000000e+00
|
|
%i7 = fmul contract float %i4, 2.000000e+00
|
|
store float %i7, float* %Dst
|
|
ret void
|
|
}
|
|
|