[x64][ia32] Reconcile supported extensions
This is similar in spirit to https://crrev.com/c/2808621, which is to ensure that no matter what combination of --[no-]enable-{extension} flag is passed, we end up with a set of supported extensions that make sense. The 2 rules are: - If a newer extension is supported (SSE4_2), older extensions are supported (SSE4_1, SSSE3, SSE3), - If an older extension is not supported (SSE4_1), new extensions are not supported (SSE4_2, AVX) Tests have been added to both ia32 and x64 to check that we follow these above 2 rules. We change the ProbeImpl to have a reconciliation step to ensure that we stick to the 2 rules. E.g. if --enable-avx --no-enable-sse4-2, we will first set AVX to supported, then in the second step, fix-up AVX to unsupported. In this sense, the --no version of the flags take priority. This more accurately follows the intention of the flags. Bug: chromium:1195579 Change-Id: I0390f24de9d203fe6bbd4cc02a23771a1f052618 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2818570 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#73942}
Showing
Please
register
or
sign in
to comment