1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/CodeGen/SystemZ/fp-mul-14.ll
Craig Topper 065f5d3388 [SelectionDAGBuilder] Pass fast math flags to getNode calls rather than trying to set them after the fact.:
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
2020-09-08 15:27:21 -07:00

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
}