Skip to content

Commit cac1329

Browse files
committed
Revert "Add support for maximumnum/minimumnum (AliveToolkit#1123)"
This reverts commit 4eef8dd.
1 parent c527ed2 commit cac1329

File tree

7 files changed

+1
-100
lines changed

7 files changed

+1
-100
lines changed

ir/instr.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -641,8 +641,6 @@ void FpBinOp::print(ostream &os) const {
641641
case FMin: str = "fmin "; break;
642642
case FMaximum: str = "fmaximum "; break;
643643
case FMinimum: str = "fminimum "; break;
644-
case FMaximumnum: str = "fmaximumnum "; break;
645-
case FMinimumnum: str = "fminimumnum "; break;
646644
case CopySign: str = "copysign "; break;
647645
}
648646
os << getName() << " = " << str << fmath << *lhs << ", " << rhs->getName();
@@ -909,21 +907,6 @@ StateValue FpBinOp::toSMT(State &s) const {
909907
};
910908
break;
911909

912-
case FMinimumnum:
913-
case FMaximumnum:
914-
fn = [&](const expr &a, const expr &b, const expr &rm) {
915-
expr zpos = expr::mkNumber("0", a), zneg = expr::mkNumber("-0", a);
916-
expr cmp = op == FMinimumnum ? a.fole(b) : a.foge(b);
917-
expr neg_cond = op == FMinimumnum ? (a.isFPNegative() || b.isFPNegative())
918-
: (a.isFPNegative() && b.isFPNegative());
919-
expr e = expr::mkIf(a.isFPZero() && b.isFPZero(),
920-
expr::mkIf(neg_cond, zneg, zpos),
921-
expr::mkIf(cmp, a, b));
922-
923-
return expr::mkIf(a.isNaN(), b, expr::mkIf(b.isNaN(), a, e));
924-
};
925-
break;
926-
927910
case CopySign:
928911
bitwise = true;
929912
fn = [](const expr &a, const expr &b, const expr &rm) {

ir/instr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class BinOp final : public Instr {
7171
class FpBinOp final : public Instr {
7272
public:
7373
enum Op { FAdd, FSub, FMul, FDiv, FRem, FMax, FMin, FMaximum, FMinimum,
74-
FMaximumnum, FMinimumnum, CopySign };
74+
CopySign };
7575

7676
private:
7777
Value *lhs, *rhs;

llvm_util/llvm2alive.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,8 +1022,6 @@ class llvm2alive_ : public llvm::InstVisitor<llvm2alive_, unique_ptr<Instr>> {
10221022
case llvm::Intrinsic::maxnum:
10231023
case llvm::Intrinsic::minimum:
10241024
case llvm::Intrinsic::maximum:
1025-
case llvm::Intrinsic::minimumnum:
1026-
case llvm::Intrinsic::maximumnum:
10271025
case llvm::Intrinsic::experimental_constrained_fadd:
10281026
case llvm::Intrinsic::experimental_constrained_fsub:
10291027
case llvm::Intrinsic::experimental_constrained_fmul:
@@ -1045,8 +1043,6 @@ class llvm2alive_ : public llvm::InstVisitor<llvm2alive_, unique_ptr<Instr>> {
10451043
case llvm::Intrinsic::experimental_constrained_minimum: op = FpBinOp::FMinimum; break;
10461044
case llvm::Intrinsic::maximum:
10471045
case llvm::Intrinsic::experimental_constrained_maximum: op = FpBinOp::FMaximum; break;
1048-
case llvm::Intrinsic::minimumnum: op = FpBinOp::FMinimumnum; break;
1049-
case llvm::Intrinsic::maximumnum: op = FpBinOp::FMaximumnum; break;
10501046
case llvm::Intrinsic::experimental_constrained_fadd: op = FpBinOp::FAdd; break;
10511047
case llvm::Intrinsic::experimental_constrained_fsub: op = FpBinOp::FSub; break;
10521048
case llvm::Intrinsic::experimental_constrained_fmul: op = FpBinOp::FMul; break;

tests/unit/fp/fmaxmin.opt

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -155,71 +155,3 @@ Name: fminimum, -0, +0
155155
%t = fminimum float -0.0, float +0.0
156156
=>
157157
%t = float -0.0
158-
159-
Name: fmaximumnum, constant prop.
160-
%t = fmaximumnum float 1.0, float 3.0
161-
=>
162-
%t = float 3.0
163-
164-
Name: fminimumnum, constant prop.
165-
%t = fminimumnum float 1.0, float 3.0
166-
=>
167-
%t = float 1.0
168-
169-
Name: fmaximumnum, LHS NaN
170-
%v = fdiv float 0.0, 0.0
171-
%t = fmaximumnum float %v, float 3.0
172-
=>
173-
%t = float 3.0
174-
175-
Name: fmaximumnum, RHS NaN
176-
%v = fdiv float 0.0, 0.0
177-
%t = fmaximumnum float 3.0, float %v
178-
=>
179-
%t = float 3.0
180-
181-
Name: fmaximumnum, BOTH NaN
182-
%v = fdiv float 0.0, 0.0
183-
%t = fmaximumnum float %v, float %v
184-
=>
185-
%v = fdiv float 0.0, 0.0
186-
%t = float %v
187-
188-
Name: fminimumnum, LHS NaN
189-
%v = fdiv float 0.0, 0.0
190-
%t = fminimumnum float %v, float 3.0
191-
=>
192-
%t = float 3.0
193-
194-
Name: fminimumnum, RHS NaN
195-
%v = fdiv float 0.0, 0.0
196-
%t = fminimumnum float 3.0, float %v
197-
=>
198-
%t = float 3.0
199-
200-
Name: fminimumnum, BOTH NaN
201-
%v = fdiv float 0.0, 0.0
202-
%t = fminimumnum float %v, float %v
203-
=>
204-
%v = fdiv float 0.0, 0.0
205-
%t = float %v
206-
207-
Name: fmaximumnum, +0, -0
208-
%t = fmaximumnum float +0.0, float -0.0
209-
=>
210-
%t = float +0.0
211-
212-
Name: fmaximumnum, -0, +0
213-
%t = fmaximumnum float -0.0, float +0.0
214-
=>
215-
%t = float +0.0
216-
217-
Name: fminimumnum, +0, -0
218-
%t = fminimumnum float +0.0, float -0.0
219-
=>
220-
%t = float -0.0
221-
222-
Name: fminimumnum, -0, +0
223-
%t = fminimumnum float -0.0, float +0.0
224-
=>
225-
%t = float -0.0

tools/alive_lexer.re

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,6 @@ space+ {
237237
"fmin" { return FMIN; }
238238
"fmaximum" { return FMAXIMUM; }
239239
"fminimum" { return FMINIMUM; }
240-
"fmaximumnum" { return FMAXIMUMNUM; }
241-
"fminimumnum" { return FMINIMUMNUM; }
242240
"extractelement" { return EXTRACTELEMENT; }
243241
"insertelement" { return INSERTELEMENT; }
244242
"shufflevector" { return SHUFFLEVECTOR; }

tools/alive_parser.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -663,8 +663,6 @@ static unsigned parse_binop_flags(token op_token) {
663663
case FMIN:
664664
case FMAXIMUM:
665665
case FMINIMUM:
666-
case FMAXIMUMNUM:
667-
case FMINIMUMNUM:
668666
case SREM:
669667
case UREM:
670668
case UADD_SAT:
@@ -789,8 +787,6 @@ static unique_ptr<Instr> parse_fp_binop(string_view name, token op_token) {
789787
case FMIN: op = FpBinOp::FMin; break;
790788
case FMAXIMUM: op = FpBinOp::FMaximum; break;
791789
case FMINIMUM: op = FpBinOp::FMinimum; break;
792-
case FMAXIMUMNUM: op = FpBinOp::FMaximumnum; break;
793-
case FMINIMUMNUM: op = FpBinOp::FMinimumnum; break;
794790
default:
795791
UNREACHABLE();
796792
}
@@ -1224,8 +1220,6 @@ static unique_ptr<Instr> parse_instr(string_view name) {
12241220
case FMIN:
12251221
case FMAXIMUM:
12261222
case FMINIMUM:
1227-
case FMAXIMUMNUM:
1228-
case FMINIMUMNUM:
12291223
return parse_fp_binop(name, t);
12301224
case BITREVERSE:
12311225
case BSWAP:

tools/tokens.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,8 @@ TOKEN(UMULFIXSAT)
6666
TOKEN(FMA)
6767
TOKEN(FMAX)
6868
TOKEN(FMAXIMUM)
69-
TOKEN(FMAXIMUMNUM)
7069
TOKEN(FMIN)
7170
TOKEN(FMINIMUM)
72-
TOKEN(FMINIMUMNUM)
7371
TOKEN(FSUB)
7472
TOKEN(GLOBAL_NAME)
7573
TOKEN(HALF)

0 commit comments

Comments
 (0)