184 changes: 48 additions & 136 deletions llvm/test/CodeGen/RISCV/float-intrinsics.ll

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion llvm/test/TableGen/GlobalISelEmitter.td
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ def : Pat<(frag GPR32:$src1, complex:$src2, complex:$src3),
// R00O-NEXT: GIM_Reject,
// R00O: // Label [[DEFAULT_NUM]]: @[[DEFAULT]]
// R00O-NEXT: GIM_Reject,
// R00O-NEXT: }; // Size: 1812 bytes
// R00O-NEXT: }; // Size: 1804 bytes

def INSNBOB : I<(outs GPR32:$dst), (ins GPR32:$src1, GPR32:$src2, GPR32:$src3, GPR32:$src4),
[(set GPR32:$dst,
Expand Down
14 changes: 4 additions & 10 deletions llvm/test/tools/llvm-tli-checker/ps4-tli-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,29 +32,23 @@
# RUN: FileCheck %s --check-prefix=AVAIL --input-file %t3.txt
# RUN: FileCheck %s --check-prefix=UNAVAIL --input-file %t3.txt
#
# CHECK: << Total TLI yes SDK no: 14
# CHECK: << Total TLI yes SDK no: 8
# CHECK: >> Total TLI no SDK yes: 0
# CHECK: == Total TLI yes SDK yes: 239
#
# WRONG_DETAIL: << TLI yes SDK no : '_ZdaPv' aka operator delete[](void*)
# WRONG_DETAIL: >> TLI no SDK yes: '_ZdaPvj' aka operator delete[](void*, unsigned int)
# WRONG_DETAIL-COUNT-8: << TLI yes SDK no : {{.*}}__hot_cold_t
# WRONG_DETAIL: << TLI yes SDK no : 'fmaximum_num'
# WRONG_DETAIL: << TLI yes SDK no : 'fmaximum_numf'
# WRONG_DETAIL: << TLI yes SDK no : 'fmaximum_numl'
# WRONG_DETAIL: << TLI yes SDK no : 'fminimum_num'
# WRONG_DETAIL: << TLI yes SDK no : 'fminimum_numf'
# WRONG_DETAIL: << TLI yes SDK no : 'fminimum_numl'
# WRONG_SUMMARY: << Total TLI yes SDK no: 15{{$}}
# WRONG_SUMMARY: << Total TLI yes SDK no: 9{{$}}
# WRONG_SUMMARY: >> Total TLI no SDK yes: 1{{$}}
# WRONG_SUMMARY: == Total TLI yes SDK yes: 238
#
## The -COUNT suffix doesn't care if there are too many matches, so check
## the exact count first; the two directives should add up to that.
## Yes, this means additions to TLI will fail this test, but the argument
## to -COUNT can't be an expression.
# AVAIL: TLI knows 486 symbols, 253 available
# AVAIL-COUNT-253: {{^}} available
# AVAIL: TLI knows 480 symbols, 247 available
# AVAIL-COUNT-247: {{^}} available
# AVAIL-NOT: {{^}} available
# UNAVAIL-COUNT-233: not available
# UNAVAIL-NOT: not available
Expand Down
48 changes: 0 additions & 48 deletions llvm/unittests/ADT/APFloatTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -631,54 +631,6 @@ TEST(APFloatTest, Maximum) {
EXPECT_TRUE(std::isnan(maximum(nan, f1).convertToDouble()));
}

TEST(APFloatTest, MinimumNumber) {
APFloat f1(1.0);
APFloat f2(2.0);
APFloat zp(0.0);
APFloat zn(-0.0);
APFloat nan = APFloat::getNaN(APFloat::IEEEdouble());
APFloat snan = APFloat::getSNaN(APFloat::IEEEdouble());

EXPECT_EQ(1.0, minimumnum(f1, f2).convertToDouble());
EXPECT_EQ(1.0, minimumnum(f2, f1).convertToDouble());
EXPECT_EQ(-0.0, minimumnum(zp, zn).convertToDouble());
EXPECT_EQ(-0.0, minimumnum(zn, zp).convertToDouble());
EXPECT_TRUE(minimumnum(zn, zp).isNegative());
EXPECT_TRUE(minimumnum(zp, zn).isNegative());
EXPECT_TRUE(minimumnum(zn, zn).isNegative());
EXPECT_FALSE(minimumnum(zp, zp).isNegative());
EXPECT_FALSE(std::isnan(minimumnum(f1, nan).convertToDouble()));
EXPECT_FALSE(std::isnan(minimumnum(nan, f1).convertToDouble()));
EXPECT_FALSE(std::isnan(minimumnum(f1, snan).convertToDouble()));
EXPECT_FALSE(std::isnan(minimumnum(snan, f1).convertToDouble()));
EXPECT_FALSE(minimumnum(snan, nan).isSignaling());
EXPECT_FALSE(minimumnum(snan, snan).isSignaling());
}

TEST(APFloatTest, MaximumNumber) {
APFloat f1(1.0);
APFloat f2(2.0);
APFloat zp(0.0);
APFloat zn(-0.0);
APFloat nan = APFloat::getNaN(APFloat::IEEEdouble());
APFloat snan = APFloat::getSNaN(APFloat::IEEEdouble());

EXPECT_EQ(2.0, maximumnum(f1, f2).convertToDouble());
EXPECT_EQ(2.0, maximumnum(f2, f1).convertToDouble());
EXPECT_EQ(0.0, maximumnum(zp, zn).convertToDouble());
EXPECT_EQ(0.0, maximumnum(zn, zp).convertToDouble());
EXPECT_FALSE(maximumnum(zn, zp).isNegative());
EXPECT_FALSE(maximumnum(zp, zn).isNegative());
EXPECT_TRUE(maximumnum(zn, zn).isNegative());
EXPECT_FALSE(maximumnum(zp, zp).isNegative());
EXPECT_FALSE(std::isnan(maximumnum(f1, nan).convertToDouble()));
EXPECT_FALSE(std::isnan(maximumnum(nan, f1).convertToDouble()));
EXPECT_FALSE(std::isnan(maximumnum(f1, snan).convertToDouble()));
EXPECT_FALSE(std::isnan(maximumnum(snan, f1).convertToDouble()));
EXPECT_FALSE(maximumnum(snan, nan).isSignaling());
EXPECT_FALSE(maximumnum(snan, snan).isSignaling());
}

TEST(APFloatTest, Denormal) {
APFloat::roundingMode rdmd = APFloat::rmNearestTiesToEven;

Expand Down
8 changes: 1 addition & 7 deletions llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -188,12 +188,6 @@ TEST_F(TargetLibraryInfoTest, ValidProto) {
"declare double @fmin(double, double)\n"
"declare float @fminf(float, float)\n"
"declare x86_fp80 @fminl(x86_fp80, x86_fp80)\n"
"declare double @fmaximum_num(double, double)\n"
"declare float @fmaximum_numf(float, float)\n"
"declare x86_fp80 @fmaximum_numl(x86_fp80, x86_fp80)\n"
"declare double @fminimum_num(double, double)\n"
"declare float @fminimum_numf(float, float)\n"
"declare x86_fp80 @fminimum_numl(x86_fp80, x86_fp80)\n"
"declare double @fmod(double, double)\n"
"declare float @fmodf(float, float)\n"
"declare x86_fp80 @fmodl(x86_fp80, x86_fp80)\n"
Expand Down Expand Up @@ -666,4 +660,4 @@ class TLITestAarch64 : public ::testing::Test {
TEST_F(TLITestAarch64, TestFrem) {
EXPECT_EQ(getScalarName(Instruction::FRem, Type::getDoubleTy(Ctx)), "fmod");
EXPECT_EQ(getScalarName(Instruction::FRem, Type::getFloatTy(Ctx)), "fmodf");
}
}
11 changes: 5 additions & 6 deletions llvm/unittests/IR/VPIntrinsicTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,8 @@ namespace {
static const char *ReductionIntOpcodes[] = {
"add", "mul", "and", "or", "xor", "smin", "smax", "umin", "umax"};

static const char *ReductionFPOpcodes[] = {
"fadd", "fmul", "fmin", "fmax",
"fminimum", "fmaximum", "fminimumnum", "fmaximumnum"};
static const char *ReductionFPOpcodes[] = {"fadd", "fmul", "fmin",
"fmax", "fminimum", "fmaximum"};

class VPIntrinsicTest : public testing::Test {
protected:
Expand All @@ -50,9 +49,9 @@ class VPIntrinsicTest : public testing::Test {
Str << " declare <8 x i32> @llvm.vp." << BinaryIntOpcode
<< ".v8i32(<8 x i32>, <8 x i32>, <8 x i1>, i32) ";

const char *BinaryFPOpcodes[] = {
"fadd", "fsub", "fmul", "fdiv", "frem", "minnum",
"maxnum", "minimum", "maximum", "minimumnum", "maximumnum", "copysign"};
const char *BinaryFPOpcodes[] = {"fadd", "fsub", "fmul", "fdiv",
"frem", "minnum", "maxnum", "minimum",
"maximum", "copysign"};
for (const char *BinaryFPOpcode : BinaryFPOpcodes)
Str << " declare <8 x float> @llvm.vp." << BinaryFPOpcode
<< ".v8f32(<8 x float>, <8 x float>, <8 x i1>, i32) ";
Expand Down