mesa/src/intel/ci
Ian Romanick dcfc90a8fc nir/algebraic: Convert bcsel of addition to addition of b2i or b2f
Recent changes to continue handling in loops results in many cases of

    loop {
        ...
	if (...) {
	    do_continue = true; // was continue;
	}

	i = do_continue ? i : i + 1;
    }

I noticed this while investigating mesa#15154. Unfortunately, this
doesn't fix the performance regressions noted in that issue.

One fragment shader in XCOM: Enemy Unknown doesn't like this change. :(

v2: Drop _nsz from a couple bcsel patterns where it is not needed.
Suggested by Georg.

v3: Drop ~ from the last two fadd patterns. Suggested by Georg. Update
expected checksum for plot3d-v2.trace on many platforms.

shader-db:

All Iris platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17089936 -> 17086837 (-0.02%)
instructions in affected programs: 864928 -> 861829 (-0.36%)
helped: 696 / HURT: 110

total cycles in shared programs: 864096306 -> 863913752 (-0.02%)
cycles in affected programs: 345726340 -> 345543786 (-0.05%)
helped: 620 / HURT: 196

total spills in shared programs: 3318 -> 3319 (0.03%)
spills in affected programs: 14 -> 15 (7.14%)
helped: 0 / HURT: 1

total fills in shared programs: 1604 -> 1606 (0.12%)
fills in affected programs: 28 -> 30 (7.14%)
helped: 0 / HURT: 1

total sends in shared programs: 876852 -> 876850 (<.01%)
sends in affected programs: 6 -> 4 (-33.33%)
helped: 2 / HURT: 0

fossil-db:

Lunar Lake
Totals:
Instrs: 914468779 -> 914215874 (-0.03%); split: -0.03%, +0.00%
CodeSize: 12885732160 -> 12881939568 (-0.03%); split: -0.04%, +0.01%
Cycle count: 100100279922 -> 100096866800 (-0.00%); split: -0.05%, +0.04%
Spill count: 3459786 -> 3459693 (-0.00%); split: -0.01%, +0.01%
Fill count: 4909835 -> 4909177 (-0.01%); split: -0.04%, +0.03%
Max live registers: 191819298 -> 191822052 (+0.00%); split: -0.00%, +0.00%
Max dispatch width: 48511264 -> 48510608 (-0.00%); split: +0.00%, -0.00%
Non SSA regs after NIR: 136334891 -> 136301926 (-0.02%); split: -0.03%, +0.00%

Totals from 37416 (1.87% of 2003390) affected shaders:
Instrs: 53346249 -> 53093344 (-0.47%); split: -0.48%, +0.01%
CodeSize: 775396384 -> 771603792 (-0.49%); split: -0.60%, +0.11%
Cycle count: 32275003526 -> 32271590404 (-0.01%); split: -0.14%, +0.13%
Spill count: 569304 -> 569211 (-0.02%); split: -0.05%, +0.03%
Fill count: 620240 -> 619582 (-0.11%); split: -0.31%, +0.21%
Max live registers: 6712048 -> 6714802 (+0.04%); split: -0.01%, +0.05%
Max dispatch width: 893344 -> 892688 (-0.07%); split: +0.10%, -0.17%
Non SSA regs after NIR: 7191473 -> 7158508 (-0.46%); split: -0.49%, +0.03%

Meteor Lake and DG2 had similar results. (Meteor Lake shown)
Totals:
Instrs: 985625036 -> 985366432 (-0.03%); split: -0.03%, +0.00%
CodeSize: 16446268768 -> 16442606864 (-0.02%); split: -0.03%, +0.01%
Cycle count: 91278956920 -> 91272371300 (-0.01%); split: -0.07%, +0.06%
Spill count: 3713935 -> 3714003 (+0.00%); split: -0.00%, +0.00%
Fill count: 5001514 -> 5001259 (-0.01%); split: -0.03%, +0.02%
Max live registers: 120736970 -> 120738919 (+0.00%); split: -0.00%, +0.00%
Max dispatch width: 37827808 -> 37829472 (+0.00%); split: +0.01%, -0.00%
Non SSA regs after NIR: 160606595 -> 160573270 (-0.02%); split: -0.02%, +0.00%

Totals from 38664 (1.71% of 2265137) affected shaders:
Instrs: 53621392 -> 53362788 (-0.48%); split: -0.49%, +0.01%
CodeSize: 932994544 -> 929332640 (-0.39%); split: -0.52%, +0.13%
Cycle count: 24442489628 -> 24435904008 (-0.03%); split: -0.25%, +0.22%
Spill count: 550952 -> 551020 (+0.01%); split: -0.02%, +0.03%
Fill count: 525010 -> 524755 (-0.05%); split: -0.27%, +0.23%
Max live registers: 3594805 -> 3596754 (+0.05%); split: -0.01%, +0.07%
Max dispatch width: 510928 -> 512592 (+0.33%); split: +0.47%, -0.14%
Non SSA regs after NIR: 7652247 -> 7618922 (-0.44%); split: -0.46%, +0.03%

Tiger Lake, Ice Lake, and Skylake had similar results. (Tiger Lake shown)
Totals:
Instrs: 997905938 -> 997771670 (-0.01%); split: -0.01%, +0.00%
CodeSize: 13990460928 -> 13988346016 (-0.02%); split: -0.02%, +0.00%
Cycle count: 83465002175 -> 83456829524 (-0.01%); split: -0.02%, +0.01%
Spill count: 3815020 -> 3814879 (-0.00%); split: -0.01%, +0.00%
Fill count: 6561078 -> 6560768 (-0.00%); split: -0.01%, +0.00%
Max live registers: 121468149 -> 121468160 (+0.00%); split: -0.00%, +0.00%
Max dispatch width: 37914400 -> 37914624 (+0.00%); split: +0.00%, -0.00%
Non SSA regs after NIR: 155941530 -> 155944033 (+0.00%); split: -0.00%, +0.00%

Totals from 27771 (1.22% of 2273117) affected shaders:
Instrs: 31224666 -> 31090398 (-0.43%); split: -0.44%, +0.01%
CodeSize: 450250800 -> 448135888 (-0.47%); split: -0.57%, +0.10%
Cycle count: 15045135658 -> 15036963007 (-0.05%); split: -0.13%, +0.08%
Spill count: 406812 -> 406671 (-0.03%); split: -0.05%, +0.01%
Fill count: 391210 -> 390900 (-0.08%); split: -0.10%, +0.02%
Max live registers: 2592759 -> 2592770 (+0.00%); split: -0.02%, +0.02%
Max dispatch width: 383888 -> 384112 (+0.06%); split: +0.23%, -0.17%
Non SSA regs after NIR: 4221402 -> 4223905 (+0.06%); split: -0.01%, +0.07%

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41871>
2026-06-02 17:44:14 +00:00
..
angle-anv-adl-slow-skips.txt
angle-anv-jsl-fails.txt Uprev ANGLE to 599125448d7ad53b2868a7b5d2e3e8d3bfbc1717 2026-03-18 00:19:19 +00:00
angle-anv-jsl-flakes.txt anv/ci: document more flakes 2026-03-06 16:39:17 +00:00
angle-anv-tgl-flakes.txt
anv-adl-fails.txt ci: Update VK CTS to 1.4.5.3 with fixes. 2026-05-14 04:22:21 +00:00
anv-adl-flakes.txt anv/ci: document recent flakes 2026-03-05 18:29:33 +00:00
anv-adl-skips.txt
anv-adl-vkd3d-fails.txt ci: uprev vkd3d 2026-04-30 15:00:02 +00:00
anv-jsl-fails.txt ci: Update VK CTS to 1.4.5.3 with fixes. 2026-05-14 04:22:21 +00:00
anv-jsl-flakes.txt
anv-jsl-skips.txt ci/deqp-runner: Enable a common single-threaded test list. 2026-02-03 17:34:09 +00:00
anv-jsl-slow-skips.txt
anv-rpl-fails.txt ci: Update VK CTS to 1.4.5.3 with fixes. 2026-05-14 04:22:21 +00:00
anv-rpl-flakes.txt ci: Update VK CTS to 1.4.5.3 with fixes. 2026-05-14 04:22:21 +00:00
anv-skips.txt
anv-tgl-fails.txt ci: Update VK CTS to 1.4.5.3 with fixes. 2026-05-14 04:22:21 +00:00
anv-tgl-flakes.txt intel/ci: Document recent Intel flakes 2026-03-09 17:42:03 +00:00
anv-tgl-skips.txt ci/deqp-runner: Enable a common single-threaded test list. 2026-02-03 17:34:09 +00:00
deqp-anv-adl-angle.toml anv/ci: Run full anv-adl-angle job pre-merge 2025-08-21 07:05:26 +00:00
deqp-anv-adl-full.toml
deqp-anv-adl.toml
deqp-anv-fluster.toml anv/ci: add vulkan fluster job on adl 2026-03-13 17:38:23 +00:00
deqp-anv-jsl-angle-full.toml
deqp-anv-jsl-angle.toml
deqp-anv-jsl-full.toml
deqp-anv-jsl.toml
deqp-anv-rpl.toml anv/ci: Add full VKCTS pre-merge job on Raptor Lake 2026-04-08 11:11:17 +00:00
deqp-anv-tgl-angle-full.toml
deqp-anv-tgl-angle.toml
deqp-anv-tgl-full.toml anv/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-anv-tgl.toml anv/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-hasvk-hsw.toml
deqp-intel-adl-cl.toml intel/ci: Drop deprecated fp16 environment variable 2025-06-18 06:13:25 +00:00
deqp-intel-adl-skqp.toml
deqp-intel-tgl-skqp.toml
deqp-intel-whl-skqp.toml
deqp-iris-adl.toml iris/ci: Add a new iris deqp job on Alder Lake 2025-08-21 07:05:27 +00:00
deqp-iris-amly-egl.toml iris/ci: consistently use x11- prefix for deqp-egl-x11 2025-08-13 15:12:31 +00:00
deqp-iris-amly.toml iris/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-iris-apl-egl.toml iris/ci: consistently use x11- prefix for deqp-egl-x11 2025-08-13 15:12:31 +00:00
deqp-iris-apl-glk.toml iris/ci: consistently use x11- prefix for deqp-egl-x11 2025-08-13 15:12:31 +00:00
deqp-iris-apl.toml iris/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-iris-cml.toml iris/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-iris-glk-egl.toml iris/ci: consistently use x11- prefix for deqp-egl-x11 2025-08-13 15:12:31 +00:00
deqp-iris-glk.toml iris/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-iris-jsl.toml iris/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-iris-kbl-piglit.toml
deqp-iris-kbl.toml iris/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
deqp-iris-whl.toml iris/ci: drop already included skip list 2025-07-30 23:18:07 +00:00
gitlab-ci-inc.yml ci: Add missing rule for new trace replay config files 2026-05-11 08:02:05 +00:00
gitlab-ci.yml ci: Update VK CTS to 1.4.5.3 with fixes. 2026-05-14 04:22:21 +00:00
hasvk-hsw-fails.txt
hasvk-hsw-flakes.txt
hasvk-hsw-skips.txt
intel-adl-fails.txt ci: update OpenCL 3.1 piglit fails 2026-05-13 15:21:40 +00:00
intel-adl-flakes.txt
intel-tgl-flakes.txt
iris-adl-flakes.txt intel/ci: Document recent Intel flakes 2026-03-09 17:42:03 +00:00
iris-adl-skips.txt iris/ci: Add a new iris deqp job on Alder Lake 2025-08-21 07:05:27 +00:00
iris-amly-flakes.txt
iris-amly-skips.txt
iris-apl-flakes.txt
iris-apl-skips.txt
iris-cml-fails.txt
iris-cml-flakes.txt
iris-glk-fails.txt
iris-glk-flakes.txt Revert "ci: disable Collabora's farm due to maintenance" 2026-05-18 17:00:39 +00:00
iris-glk-skips.txt
iris-jsl-fails.txt
iris-jsl-flakes.txt
iris-jsl-skips.txt
iris-kbl-fails.txt Uprev Piglit to 6fd29fe44f8857b876a67bee962919635f22ecc8 2026-05-20 21:37:44 +00:00
iris-kbl-flakes.txt
iris-kbl-skips.txt
iris-skips.txt
iris-whl-fails.txt
iris-whl-flakes.txt
traces-intel-restricted.toml ci/intel: Switch over to the new tool for restricted traces. 2026-04-23 22:54:12 +00:00
traces-iris.yml nir/algebraic: Convert bcsel of addition to addition of b2i or b2f 2026-06-02 17:44:14 +00:00