brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 2a19ed8 Raw
29 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 22;; Make sure internal constrained FP intrinsics still merge properly3; RUN: opt -passes=mergefunc -S < %s | FileCheck %s4 5declare float @llvm.experimental.constrained.fadd.f32(float, float, metadata, metadata)6 7define float @func1(float %a, float %b) {8; CHECK-LABEL: define float @func19; CHECK-SAME: (float [[A:%.*]], float [[B:%.*]]) {10; CHECK-NEXT:    [[RESULT:%.*]] = call float @llvm.experimental.constrained.fadd.f32(float [[A]], float [[B]], metadata !"round.dynamic", metadata !"fpexcept.strict")11; CHECK-NEXT:    [[RESULT_2:%.*]] = call float @llvm.experimental.constrained.fadd.f32(float [[A]], float [[B]], metadata !"round.dynamic", metadata !"fpexcept.strict")12; CHECK-NEXT:    ret float [[RESULT]]13;14  %result = call float @llvm.experimental.constrained.fadd.f32(float %a, float %b, metadata !"round.dynamic", metadata !"fpexcept.strict")15  %result_2 = call float @llvm.experimental.constrained.fadd.f32(float %a, float %b, metadata !"round.dynamic", metadata !"fpexcept.strict")16  ret float %result17}18 19define float @func2(float %a, float %b) {20; CHECK-LABEL: define float @func221; CHECK-SAME: (float [[TMP0:%.*]], float [[TMP1:%.*]]) {22; CHECK-NEXT:    [[TMP3:%.*]] = tail call float @func1(float [[TMP0]], float [[TMP1]])23; CHECK-NEXT:    ret float [[TMP3]]24;25  %result = call float @llvm.experimental.constrained.fadd.f32(float %a, float %b, metadata !"round.dynamic", metadata !"fpexcept.strict")26  %result_2 = call float @llvm.experimental.constrained.fadd.f32(float %a, float %b, metadata !"round.dynamic", metadata !"fpexcept.strict")27  ret float %result28}29