Page MenuHomePhabricator

nikic (Nikita Popov)
User

Projects

User does not belong to any projects.

User Details

User Since
May 5 2018, 9:37 AM (125 w, 3 d)

Recent Activity

Today

nikic added a comment to D86021: [IR] Make nosync, nofree and willreturn default for intrinsics..

I find the naming here confusing: Looking at this patch my expectation was that DefaultIntrinsic is used for intrinsics with default attributes, based on the name. Took me a while to understand it's actually the other way around. Shouldn't the Intrinsic <-> DefaultIntrinsic naming be inverted?

Wed, Sep 30, 7:15 AM · Restricted Project
nikic added a comment to D88492: [InstCombine] visitTrunc - remove dead trunc(lshr (zext A), C) combine.

FWIW, when removing a redundant fold, it would be helpful to point out which other fold already handles it in the review summary.

Wed, Sep 30, 12:33 AM · Restricted Project

Yesterday

nikic committed rGac8a51c701eb: [ValueTracking] Early exit known non zero for phis (authored by nikic).
[ValueTracking] Early exit known non zero for phis
Tue, Sep 29, 12:08 PM
nikic added inline comments to D88167: [LoopDeletion] Forget loop before setting values to undef.
Tue, Sep 29, 5:21 AM · Restricted Project
nikic accepted D88276: [IsKnownNonZero] Handle the case with non-constant phi nodes.

LGTM

Tue, Sep 29, 12:43 AM · Restricted Project

Mon, Sep 28

nikic added a comment to D87344: [IndVars] Remove exiting conditions that are trivially true/false.

If we want to generally handle icmps involving SCEVs which were not either uses of IVs (directly) or loop exits, I agree this code would be good to pull out and use.

The catch is the the IV logic only visits a small subset of icmps. If you have any form of complicated expression feeding the icmp, it gives up without every reaching it.

I'll note that I think it's seriously worth considering whether we want a transform which just visits all icmps in a loop and tries to eliminate them, but that's a broader task than this patch. :)

Mon, Sep 28, 1:41 PM · Restricted Project
nikic added a comment to D69686: [LVI][CVP] Use block value when simplifying icmps.

Hello.

We've ran into an issues with a case like this:
https://godbolt.org/z/KnvGvo

This now manages to prove that the "max" in a saturating the max(min(X, 32767), -32768) is always false. For some cpu's that's fantastic, and give a decent speed increase. But others have a ssat instruction that can do that saturation quickly, that match from a min(max(..)).
Same goes for MVE instructions where there are a lot of saturating instructions we were previously picking (even if we were not doing it optimally before).

Any ideas of a good way of re-proving that the lower bounds don't need to be checked, but in the backend during ISel?

(In this case the _only_ value that can saturate is a -32768*-32768 multiply, but the code remains and the performance change can be quite substantial. )

Mon, Sep 28, 1:28 PM · Restricted Project
nikic added a comment to D87344: [IndVars] Remove exiting conditions that are trivially true/false.

What is the relationship between this code and SimplifyIndvar::eliminateIVComparison()? Is this basically the same thing, just for icmps against something other than the IV itself?

Mon, Sep 28, 9:52 AM · Restricted Project
nikic added a comment to D88420: [InstCombine] matchRotate - support non-uniform constant vector rotation amounts (PR46895).

To handle the various undef cases this ended up being a lot bulkier than I hoped - I'd love to hear if anyone has any suggestions on how we could use ConstantExpr/PatternMatch to simplify this as I imagine we could use such functionality in other places as we improve non-uniform vector support.

Mon, Sep 28, 9:40 AM · Restricted Project
nikic added inline comments to D88276: [IsKnownNonZero] Handle the case with non-constant phi nodes.
Mon, Sep 28, 12:48 AM · Restricted Project
nikic accepted D88360: [ValueTracking] Fix analyses to update CxtI to be phi's incoming edges' terminators.

LGTM

Mon, Sep 28, 12:47 AM · Restricted Project
nikic accepted D85393: [IR] Adds mustprogress as a LLVM IR attribute.

LGTM

Mon, Sep 28, 12:42 AM · Restricted Project

Sun, Sep 27

nikic committed rG01bde7310bb9: [CVP] Remove unnecessary block splits in tests (NFC) (authored by nikic).
[CVP] Remove unnecessary block splits in tests (NFC)
Sun, Sep 27, 11:57 AM
nikic committed rGfe79061be2b2: [LVI][CVP] Use block value when simplifying icmps (authored by nikic).
[LVI][CVP] Use block value when simplifying icmps
Sun, Sep 27, 11:33 AM
nikic closed D69686: [LVI][CVP] Use block value when simplifying icmps.
Sun, Sep 27, 11:33 AM · Restricted Project
nikic committed rG4f6e11948c37: [CVP] Make srem test more robust (NFC) (authored by nikic).
[CVP] Make srem test more robust (NFC)
Sun, Sep 27, 9:57 AM
nikic added inline comments to D69686: [LVI][CVP] Use block value when simplifying icmps.
Sun, Sep 27, 9:25 AM · Restricted Project
nikic committed rG709d03f8af4d: [LVI] Clarify getValueAt/getValueInBlock doc comments (NFC) (authored by nikic).
[LVI] Clarify getValueAt/getValueInBlock doc comments (NFC)
Sun, Sep 27, 9:24 AM
nikic committed rG9b959b59dfaf: [LVI] Require context instruction in external API (NFCI) (authored by nikic).
[LVI] Require context instruction in external API (NFCI)
Sun, Sep 27, 9:07 AM
nikic committed rGc8abf1c12dc3: [CVP] Pass context instruction when narrowing div/rem (authored by nikic).
[CVP] Pass context instruction when narrowing div/rem
Sun, Sep 27, 8:52 AM
nikic committed rGf229bf2e1246: [Legalize][X86] Improve nnan fmin/fmax vector reduction (authored by nikic).
[Legalize][X86] Improve nnan fmin/fmax vector reduction
Sun, Sep 27, 1:50 AM
nikic closed D87586: [X86] Improve nnan fmin/fmax vector reduction.
Sun, Sep 27, 1:50 AM · Restricted Project
nikic added inline comments to D88360: [ValueTracking] Fix analyses to update CxtI to be phi's incoming edges' terminators.
Sun, Sep 27, 1:19 AM · Restricted Project
nikic edited reviewers for D87976: Support the division-by-constant strength reduction for more integer types, added: efriedma; removed: eli.friedman.
Sun, Sep 27, 1:08 AM · Restricted Project

Sat, Sep 26

nikic added a comment to D88283: [NFCI][IR] ConstantRangeTest: add basic scaffolding for next-gen precision/correctness testing.

Thanks for putting up the review! I agree that the current testing situation is not ideal, but don't think the approach used here is moving us in the right direction.

Sat, Sep 26, 11:47 AM · Restricted Project
nikic updated the diff for D88356: [ConstantRange] Make exhaustive testing more principled (NFC).

Simplify implementation. There's no need to collect all the best ranges explicitly.

Sat, Sep 26, 11:24 AM · Restricted Project
nikic updated the summary of D88356: [ConstantRange] Make exhaustive testing more principled (NFC).
Sat, Sep 26, 8:18 AM · Restricted Project
nikic updated the diff for D88356: [ConstantRange] Make exhaustive testing more principled (NFC).

Use preference function instead of filter function, making the testing approach more broadly applicable.

Sat, Sep 26, 8:08 AM · Restricted Project
nikic requested review of D88356: [ConstantRange] Make exhaustive testing more principled (NFC).
Sat, Sep 26, 6:36 AM · Restricted Project
nikic added inline comments to D85393: [IR] Adds mustprogress as a LLVM IR attribute.
Sat, Sep 26, 1:09 AM · Restricted Project

Fri, Sep 25

nikic added a comment to D87452: [InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895).

There's a 40% code size increase on CMakeFiles/7zip-benchmark.dir/CPP/7zip/Crypto/Sha1.cpp.o, might be worth double checking that we're not missing some optimizations on funnel shifts.

Fri, Sep 25, 3:12 PM · Restricted Project
nikic added inline comments to D87697: Do not construct std::string from nullptr.
Fri, Sep 25, 2:09 PM · Restricted Project
nikic added inline comments to D88217: [GVN] Make propagateEquality look into the operand of freeze.
Fri, Sep 25, 1:19 PM · Restricted Project
nikic accepted D87697: Do not construct std::string from nullptr.

LGTM

Fri, Sep 25, 1:02 PM · Restricted Project
nikic accepted D87452: [InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895).

LGTM

Fri, Sep 25, 12:57 PM · Restricted Project
nikic added a comment to D87262: [Inliner] Handle `mustprogress` functions.

Assuming it's not part of some other patch, this should also add a LangRef entry for the llvm.loop.mustprogress metadata.

Fri, Sep 25, 12:46 PM · Restricted Project
nikic added a comment to D87180: [Inliner] Preserve maynotprogress function attribute.

Abandon this as no longer necessary for mustprogress?

Fri, Sep 25, 12:39 PM · Restricted Project
nikic added inline comments to D85393: [IR] Adds mustprogress as a LLVM IR attribute.
Fri, Sep 25, 12:34 PM · Restricted Project
nikic accepted D86233: [LangRef] Define mustprogress attribute.

Thanks for the clarification wrt callees, this LGTM now.

Fri, Sep 25, 12:17 PM · Restricted Project
nikic added a comment to D88276: [IsKnownNonZero] Handle the case with non-constant phi nodes.

Thanks for the update, the new version should be correct. However, it can also be expensive, because we may loop through a phi multiple times until the depth limit is exhausted. I would suggest to follow the same implementation approach as computeKnownBits() does in https://github.com/llvm/llvm-project/blob/d2166076b882e38becf3657ea830ffd2b6a5695e/llvm/lib/Analysis/ValueTracking.cpp#L1574-L1606. Namely to perform the recursive call with MaxDepth - 1. (I would also suggest to handle your TODO right away, to have parity with the known bits code.)

Fri, Sep 25, 11:56 AM · Restricted Project
nikic accepted D88292: [InstCombine] collectBitParts - add fshl/fshr handling.

This LGTM now, thanks!

Fri, Sep 25, 11:45 AM · Restricted Project
nikic added inline comments to D86233: [LangRef] Define mustprogress attribute.
Fri, Sep 25, 11:28 AM · Restricted Project
nikic requested changes to D88276: [IsKnownNonZero] Handle the case with non-constant phi nodes.
Fri, Sep 25, 12:30 AM · Restricted Project

Thu, Sep 24

nikic added a comment to D88178: [ConstantRange] Make binaryNot() more precise.

Guess i'll just have to do it myself then.

Thu, Sep 24, 3:07 PM · Restricted Project
nikic added inline comments to D88207: [ValueTracking] Check uses of Argument if it is given to isGuaranteedNotToBeUndefOrPoison.
Thu, Sep 24, 1:49 PM · Restricted Project
nikic accepted D88207: [ValueTracking] Check uses of Argument if it is given to isGuaranteedNotToBeUndefOrPoison.

LG with some nits

Thu, Sep 24, 12:43 PM · Restricted Project
nikic added inline comments to D88207: [ValueTracking] Check uses of Argument if it is given to isGuaranteedNotToBeUndefOrPoison.
Thu, Sep 24, 12:07 PM · Restricted Project
nikic added inline comments to D88207: [ValueTracking] Check uses of Argument if it is given to isGuaranteedNotToBeUndefOrPoison.
Thu, Sep 24, 10:10 AM · Restricted Project

Wed, Sep 23

nikic added a comment to D86171: [lsan] On Fuchsia, don't use atexit hook for leak checks.

I've reverted this change as it breaks the clang build with linker errors. D88173 did not address them either.

Wed, Sep 23, 12:14 PM · Restricted Project
nikic added a reverting change for rG0caad9fe441d: [lsan] On Fuchsia, don't use atexit hook for leak checks: rGf161e84c10b6: Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks".
Wed, Sep 23, 12:11 PM
nikic added a reverting change for rGc96d0cceb684: asan: Use `#if` to test CAN_SANITIZE_LEAKS: rGf161e84c10b6: Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks".
Wed, Sep 23, 12:11 PM
nikic committed rGf161e84c10b6: Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks" (authored by nikic).
Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks"
Wed, Sep 23, 12:11 PM
nikic added a reverting change for D86171: [lsan] On Fuchsia, don't use atexit hook for leak checks: rGf161e84c10b6: Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks".
Wed, Sep 23, 12:11 PM · Restricted Project
nikic added a reverting change for D88173: asan: Use `#if` to test CAN_SANITIZE_LEAKS: rGf161e84c10b6: Revert "[lsan] On Fuchsia, don't use atexit hook for leak checks".
Wed, Sep 23, 12:11 PM · Restricted Project
nikic requested review of D88178: [ConstantRange] Make binaryNot() more precise.
Wed, Sep 23, 11:54 AM · Restricted Project

Mon, Sep 21

nikic added a comment to D87691: [EarlyCSE] Small refactoring changes, NFC.

FWIW there were code size changes with this patch, so it wasn't NFC.

Mon, Sep 21, 3:02 PM · Restricted Project

Sun, Sep 20

nikic updated the diff for D69686: [LVI][CVP] Use block value when simplifying icmps.

Add additional test case @test_br_cmp_with_offset. Found in Rust code and not folded by IPSCCP (or anything else in LLVM).

Sun, Sep 20, 1:16 PM · Restricted Project
nikic committed rG1a2723809839: [CVP] Additional tests for comparison with offset (NFC) (authored by nikic).
[CVP] Additional tests for comparison with offset (NFC)
Sun, Sep 20, 1:15 PM
nikic committed rG445db89b537e: [LVI] Get value range from mask comparison (authored by nikic).
[LVI] Get value range from mask comparison
Sun, Sep 20, 12:22 PM
nikic committed rG91af6a78d00f: [CVP] Add tests for mask comparisons (NFC) (authored by nikic).
[CVP] Add tests for mask comparisons (NFC)
Sun, Sep 20, 12:22 PM
nikic committed rGf94bbe19b6f6: [LVI] Refactor getValueFromICmpCondition (NFC) (authored by nikic).
[LVI] Refactor getValueFromICmpCondition (NFC)
Sun, Sep 20, 12:22 PM

Sat, Sep 19

nikic committed rGf4e554180962: [Local] Clean up enforceKnownAlignment() (NFC) (authored by nikic).
[Local] Clean up enforceKnownAlignment() (NFC)
Sat, Sep 19, 1:30 PM
nikic committed rGa2f9098f7ab6: [InstCombine] Regenerate test checks (NFC) (authored by nikic).
[InstCombine] Regenerate test checks (NFC)
Sat, Sep 19, 12:08 PM
nikic added a comment to D87965: [InstCombine] replace phi values from unreachable blocks with 'undef'.

I don't think this fully addresses the problem, in that this relies on the phi getting processed before the unreachable, which is not a given. This would have to happen prior to the main InstCombine run, at the same time we remove instructions in unreachable blocks. It's probably not worth it. I think we should fix this the direct way, by performing a replaceInstUsesWith(*Prev, UndefValue(Prev->getType()) before the eraseInstFromFunction() in the unreachable transform.

Sat, Sep 19, 8:42 AM · Restricted Project

Fri, Sep 18

nikic added a comment to D87188: [InstCombine] Canonicalize SPF to abs intrinc.

This broke a few tests for me (generating code that now gives the fail result at runtime).

I'm not entirely sure which bit is the culprit, but the difference in output (that breaks tests) for one object file is available at https://martin.st/temp/vc1_block-diff-aarch64.txt, and https://martin.st/temp/vc1_block-diff-armv7.txt. For the aarch64 version, it looks like some conditionals are inverted, like these changes:

-	b.ge	.LBB1_124
+	b.hs	.LBB1_124

and

-	csel	w14, w15, w14, gt
+	csel	w14, w15, w14, hi

(with no seemingly related changes that would change the roles of the registers).

The input files for reproducing the issues are available at https://martin.st/temp/vc1_block-aarch64.c and https://martin.st/temp/vc1_block-armv7.c, which can be compiled with clang -target {aarch64,armv7}-w64-mingw32 -c -O2 vc1_block-{aarch64,armv7}.c.

Fri, Sep 18, 11:49 AM · Restricted Project, Restricted Project
nikic added a comment to D87149: [InstCombine] erase instructions leading up to unreachable.

Actually, that would be out-of-bounds for instcombine. Removing a phi operand would mean removing the incoming block too, and we don't do that in instcombine. So I think we just bail out if a value still has uses. SimplifyCFG will eventually get it.

Fri, Sep 18, 11:45 AM · Restricted Project
nikic added a reverting change for rG05d4c4ebc2fb: [InstCombine] Canonicalize SPF_ABS to abs intrinc: rG13e19d2e7cdc: Revert "[InstCombine] Canonicalize SPF_ABS to abs intrinc".
Fri, Sep 18, 12:38 AM
nikic committed rG13e19d2e7cdc: Revert "[InstCombine] Canonicalize SPF_ABS to abs intrinc" (authored by nikic).
Revert "[InstCombine] Canonicalize SPF_ABS to abs intrinc"
Fri, Sep 18, 12:38 AM
nikic added a reverting change for D87188: [InstCombine] Canonicalize SPF to abs intrinc: rG13e19d2e7cdc: Revert "[InstCombine] Canonicalize SPF_ABS to abs intrinc".
Fri, Sep 18, 12:38 AM · Restricted Project, Restricted Project

Thu, Sep 17

nikic added a comment to D87188: [InstCombine] Canonicalize SPF to abs intrinc.

LGTM - I think we should give this a try as-is (with the one-use check still there), see if anything regresses, then ease/remove the use check as a follow-on.

Thu, Sep 17, 1:38 PM · Restricted Project, Restricted Project
nikic committed rG05d4c4ebc2fb: [InstCombine] Canonicalize SPF_ABS to abs intrinc (authored by nikic).
[InstCombine] Canonicalize SPF_ABS to abs intrinc
Thu, Sep 17, 1:29 PM
nikic closed D87188: [InstCombine] Canonicalize SPF to abs intrinc.
Thu, Sep 17, 1:29 PM · Restricted Project, Restricted Project
nikic committed rG91ce8e121b7f: [GVN] Use that assume(!X) implies X==false (PR47496) (authored by nikic).
[GVN] Use that assume(!X) implies X==false (PR47496)
Thu, Sep 17, 12:35 PM
nikic committed rG59855b9d3bac: [GVN] Add additional assume tests (NFC) (authored by nikic).
[GVN] Add additional assume tests (NFC)
Thu, Sep 17, 12:35 PM

Wed, Sep 16

nikic committed rG222bf3ffbc84: Reapply [InstCombine] Simplify select operand based on equality condition (authored by nikic).
Reapply [InstCombine] Simplify select operand based on equality condition
Wed, Sep 16, 12:02 PM
nikic committed rG0bb06f297fe5: [InstSimplify] Clarify SimplifyWithOpReplaced() return value (authored by nikic).
[InstSimplify] Clarify SimplifyWithOpReplaced() return value
Wed, Sep 16, 12:02 PM
nikic committed rG94d912021ff3: [InstCombine] Add test for infinite combine loop (NFC) (authored by nikic).
[InstCombine] Add test for infinite combine loop (NFC)
Wed, Sep 16, 12:02 PM

Tue, Sep 15

nikic added a comment to D87326: [ADT] Fix reference invalidation when self referencing a SmallVector.

@nikic Would you be able to see what the delta with this is https://gist.github.com/njames93/f26f159f06bda9e7ed2270adb39d9b08, should apply on top of trunk. It has the most expensive part of the grow buffer defined outline to dissuade inlining, may reduce binary size and improve performance with gcc9.3

Tue, Sep 15, 1:03 PM · Restricted Project
nikic added reviewers for D87342: Allow targets to augment computeKnownBits with their analysis using TargetTransformInfo: spatel, lebedev.ri.
Tue, Sep 15, 11:43 AM · Restricted Project
nikic added a comment to D87326: [ADT] Fix reference invalidation when self referencing a SmallVector.

Tested the newest version of this patch and I'm still seeing massive regressions, even larger than before.

Tue, Sep 15, 1:14 AM · Restricted Project

Mon, Sep 14

nikic added inline comments to D87452: [InstCombine] matchRotate - support (uniform) constant rotation amounts (PR46895).
Mon, Sep 14, 1:29 PM · Restricted Project
nikic accepted D87603: [X86] Update SSE/AVX integer MINMAX intrinsics to emit llvm.smax.* etc. (PR46851).

LGTM. I think we have enough to start using them for vector intrinsics.

Mon, Sep 14, 12:58 PM · Restricted Project, Restricted Project
nikic updated the diff for D87586: [X86] Improve nnan fmin/fmax vector reduction.

Now that D87571 also handles the FLT_MAX case, adjust this patch to use either NaN, Inf or FLT_MAX as the neutral element for fminnum (and same negative for fmaxnum). This means we never have to drop FMF.

Mon, Sep 14, 12:19 PM · Restricted Project
nikic committed rGcc947207283f: [AArch64] Add additional vecreduce fmax/fmin legalization tests (NFC) (authored by nikic).
[AArch64] Add additional vecreduce fmax/fmin legalization tests (NFC)
Mon, Sep 14, 12:14 PM
nikic committed rG53f36f06afbc: [Legalize][ARM][X86] Add float legalization for VECREDUCE (authored by nikic).
[Legalize][ARM][X86] Add float legalization for VECREDUCE
Mon, Sep 14, 11:42 AM
nikic committed rGc0e3996bc708: [ARM] Add more tests for vecreduce soft float legalization (NFC) (authored by nikic).
[ARM] Add more tests for vecreduce soft float legalization (NFC)
Mon, Sep 14, 11:42 AM
nikic closed D87569: [Legalize][ARM][X86] Add float legalization for VECREDUCE.
Mon, Sep 14, 11:42 AM · Restricted Project
nikic committed rGcfff88c03cf9: [InstCombine] Simplify select operand based on equality condition (authored by nikic).
[InstCombine] Simplify select operand based on equality condition
Mon, Sep 14, 11:08 AM
nikic closed D87480: [InstCombine] Simplify select operand based on equality condition.
Mon, Sep 14, 11:08 AM · Restricted Project
nikic committed rG8e69c3cde8ee: [DAGCombiner] Fold fmin/fmax with INF / FLT_MAX (authored by nikic).
[DAGCombiner] Fold fmin/fmax with INF / FLT_MAX
Mon, Sep 14, 11:00 AM
nikic closed D87571: [DAGCombiner] Fold fmin/fmax with INF.
Mon, Sep 14, 11:00 AM · Restricted Project

Sun, Sep 13

nikic added inline comments to D87571: [DAGCombiner] Fold fmin/fmax with INF.
Sun, Sep 13, 1:44 PM · Restricted Project
nikic updated the diff for D87571: [DAGCombiner] Fold fmin/fmax with INF.

Preserve flags when commuting operands, fix typos in comments.

Sun, Sep 13, 1:36 PM · Restricted Project
nikic committed rGcb3e1dd6c31e: [ARM] Add some fmin/fmax tests with commuted operands (NFC) (authored by nikic).
[ARM] Add some fmin/fmax tests with commuted operands (NFC)
Sun, Sep 13, 1:30 PM
nikic updated the diff for D87571: [DAGCombiner] Fold fmin/fmax with INF.

Fix confusion between isSmallest and isLargest+isNegative.

Sun, Sep 13, 8:26 AM · Restricted Project
nikic added a comment to D87571: [DAGCombiner] Fold fmin/fmax with INF.

LGTM. Should we common/integrate the caller functions/switch cases? Ie, we're switching on min/max opcode, but then translating that knowledge into the bool flags and then predicating on those flags instead of the opcodes.

Sun, Sep 13, 8:13 AM · Restricted Project
nikic updated the diff for D87571: [DAGCombiner] Fold fmin/fmax with INF.

Also fold FLT_MAX/-FLT_MAX if ninf flag is set.

Sun, Sep 13, 8:10 AM · Restricted Project
nikic committed rG2c85f5e642fb: [ARM] Add tests for fmin/max with largest/smallest float (NFC) (authored by nikic).
[ARM] Add tests for fmin/max with largest/smallest float (NFC)
Sun, Sep 13, 8:06 AM
nikic updated the diff for D87569: [Legalize][ARM][X86] Add float legalization for VECREDUCE.

Add SoftPromoteHalfRes as well. As we do expand non-fast reductions on X86, we can run into it there. The added tests were previously asserting.

Sun, Sep 13, 6:26 AM · Restricted Project
nikic requested review of D87586: [X86] Improve nnan fmin/fmax vector reduction.
Sun, Sep 13, 12:57 AM · Restricted Project