8d72435 i965: Don't make instructions with a null dest a barrier to scheduling. GM45 (0x2A42): total instructions in shared programs: 3552743 -> 3552765 (0.00%) instructions in affected programs: 3874 -> 3896 (0.57%) helped: 2 HURT: 2 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4393745 -> 4393820 (0.00%) instructions in affected programs: 2893 -> 2968 (2.59%) helped: 1 HURT: 2 GAINED: 3 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6846497 -> 6846497 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 51 LOST: 37 Ivy Bridge (0x0166): total instructions in shared programs: 6304779 -> 6305212 (0.01%) instructions in affected programs: 643 -> 1076 (67.34%) helped: 0 HURT: 1 GAINED: 98 LOST: 49 Haswell (0x0426): total instructions in shared programs: 5937230 -> 5937663 (0.01%) instructions in affected programs: 643 -> 1076 (67.34%) helped: 0 HURT: 1 GAINED: 103 LOST: 43 Broadwell (0x162E): total instructions in shared programs: 7027790 -> 7028226 (0.01%) instructions in affected programs: 631 -> 1067 (69.10%) helped: 0 HURT: 1 GAINED: 104 LOST: 48 b61bd54 glsl: Add a foreach_in_list_reverse_safe macro. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 d00dc4e i965/cfg: Add a foreach_inst_in_block_reverse_safe macro. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 c5b8f55 i965/cfg: Add a foreach_block_reverse macro. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 80bd1ad i965: Add backend_instruction::can_do_cmod(). GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 543aeca i965: Add a brw_negate_cmod() function. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 15079be i965: Add is_3src() to backend_instruction. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 25b1de6 i965/fs: Add a pass to fixup 3-src instructions that have a null dest. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 bac4725 i965/fs: Apply conditional mod specially to split MAD/LRP. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 0c32f7b i965/fs: Eliminate null-dst instructions without side-effects. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3552765 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4395751 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6872380 -> 6872380 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6350639 -> 6350639 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5977448 -> 5977448 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7068382 -> 7068382 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 01e841d i965/fs: Add pass to propagate conditional modifiers. GM45 (0x2A42): total instructions in shared programs: 3552765 -> 3544480 (-0.23%) instructions in affected programs: 1251195 -> 1242910 (-0.66%) helped: 4471 HURT: 1 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4395751 -> 4385463 (-0.23%) instructions in affected programs: 1468241 -> 1457953 (-0.70%) helped: 5480 HURT: 2 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6871212 -> 6857371 (-0.20%) instructions in affected programs: 1833114 -> 1819273 (-0.76%) helped: 8062 HURT: 6 GAINED: 2 LOST: 2 Ivy Bridge (0x0166): total instructions in shared programs: 6346787 -> 6332151 (-0.23%) instructions in affected programs: 1897630 -> 1882994 (-0.77%) helped: 9292 HURT: 6 GAINED: 0 LOST: 12 Haswell (0x0426): total instructions in shared programs: 5974160 -> 5959463 (-0.25%) instructions in affected programs: 1743737 -> 1729040 (-0.84%) helped: 9338 HURT: 4 GAINED: 0 LOST: 12 Broadwell (0x162E): total instructions in shared programs: 7065094 -> 7048384 (-0.24%) instructions in affected programs: 2128072 -> 2111362 (-0.79%) helped: 10745 HURT: 4 GAINED: 0 LOST: 12 f6df6ea i965/fs: Add unit tests for cmod propagation pass. GM45 (0x2A42): total instructions in shared programs: 3544480 -> 3544480 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4385463 -> 4385463 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6859215 -> 6859215 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6332151 -> 6332151 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5959463 -> 5959463 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7048384 -> 7048384 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 173ff67 i965/fs: Propagate cmod across flag read if it contains the same value. GM45 (0x2A42): total instructions in shared programs: 3544480 -> 3544225 (-0.01%) instructions in affected programs: 40528 -> 40273 (-0.63%) helped: 177 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4385463 -> 4385188 (-0.01%) instructions in affected programs: 42764 -> 42489 (-0.64%) helped: 192 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6859215 -> 6858662 (-0.01%) instructions in affected programs: 76450 -> 75897 (-0.72%) helped: 389 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6332151 -> 6331590 (-0.01%) instructions in affected programs: 74327 -> 73766 (-0.75%) helped: 399 HURT: 0 GAINED: 2 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5959463 -> 5958900 (-0.01%) instructions in affected programs: 70031 -> 69468 (-0.80%) helped: 401 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7048384 -> 7047821 (-0.01%) instructions in affected programs: 69564 -> 69001 (-0.81%) helped: 401 HURT: 0 GAINED: 0 LOST: 0 0486679 i965/fs: Allow flipping cond mod for negated arguments. GM45 (0x2A42): total instructions in shared programs: 3544225 -> 3542716 (-0.04%) instructions in affected programs: 335649 -> 334140 (-0.45%) helped: 1050 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4385188 -> 4382987 (-0.05%) instructions in affected programs: 468865 -> 466664 (-0.47%) helped: 1399 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6858662 -> 6855979 (-0.04%) instructions in affected programs: 529729 -> 527046 (-0.51%) helped: 1897 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6330725 -> 6328085 (-0.04%) instructions in affected programs: 492591 -> 489951 (-0.54%) helped: 1881 HURT: 0 GAINED: 0 LOST: 3 Haswell (0x0426): total instructions in shared programs: 5958360 -> 5955701 (-0.04%) instructions in affected programs: 466880 -> 464221 (-0.57%) helped: 1891 HURT: 0 GAINED: 0 LOST: 1 Broadwell (0x162E): total instructions in shared programs: 7047281 -> 7044621 (-0.04%) instructions in affected programs: 466813 -> 464153 (-0.57%) helped: 1892 HURT: 0 GAINED: 0 LOST: 1 e319cf9 i965/fs: Add support for removing MOV.NZ instructions. GM45 (0x2A42): total instructions in shared programs: 3542716 -> 3542716 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4382987 -> 4382987 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6855979 -> 6855979 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6328085 -> 6324049 (-0.06%) instructions in affected programs: 326939 -> 322903 (-1.23%) helped: 2036 HURT: 0 GAINED: 1 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5955701 -> 5951657 (-0.07%) instructions in affected programs: 302910 -> 298866 (-1.34%) helped: 2044 HURT: 0 GAINED: 1 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7044621 -> 7040577 (-0.06%) instructions in affected programs: 301950 -> 297906 (-1.34%) helped: 2044 HURT: 0 GAINED: 1 LOST: 0 5b68921 i965: Convert CMP.GE -(abs)reg 0 -> CMP.Z reg 0. GM45 (0x2A42): total instructions in shared programs: 3542716 -> 3542438 (-0.01%) instructions in affected programs: 133705 -> 133427 (-0.21%) helped: 248 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4382987 -> 4382709 (-0.01%) instructions in affected programs: 131693 -> 131415 (-0.21%) helped: 248 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6854135 -> 6853606 (-0.01%) instructions in affected programs: 189755 -> 189226 (-0.28%) helped: 470 HURT: 0 GAINED: 0 LOST: 2 Ivy Bridge (0x0166): total instructions in shared programs: 6324518 -> 6324062 (-0.01%) instructions in affected programs: 145268 -> 144812 (-0.31%) helped: 422 HURT: 0 GAINED: 1 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5952059 -> 5951603 (-0.01%) instructions in affected programs: 138812 -> 138356 (-0.33%) helped: 422 HURT: 0 GAINED: 1 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7040979 -> 7040523 (-0.01%) instructions in affected programs: 138632 -> 138176 (-0.33%) helped: 422 HURT: 0 GAINED: 1 LOST: 0 e5e9e4b glsl: Optimize certain if-statements to just casts from the condition GM45 (0x2A42): total instructions in shared programs: 3542438 -> 3541094 (-0.04%) instructions in affected programs: 284982 -> 283638 (-0.47%) helped: 393 HURT: 757 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4382709 -> 4381349 (-0.03%) instructions in affected programs: 279788 -> 278428 (-0.49%) helped: 393 HURT: 757 GAINED: 318 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6837747 -> 6826691 (-0.16%) instructions in affected programs: 755967 -> 744911 (-1.46%) helped: 2727 HURT: 20 GAINED: 5 LOST: 11 Ivy Bridge (0x0166): total instructions in shared programs: 6315722 -> 6304643 (-0.18%) instructions in affected programs: 675927 -> 664848 (-1.64%) helped: 2648 HURT: 20 GAINED: 3 LOST: 19 Haswell (0x0426): total instructions in shared programs: 5942461 -> 5931386 (-0.19%) instructions in affected programs: 620346 -> 609271 (-1.79%) helped: 2652 HURT: 20 GAINED: 3 LOST: 25 Broadwell (0x162E): total instructions in shared programs: 7031391 -> 7023472 (-0.11%) instructions in affected programs: 647619 -> 639700 (-1.22%) helped: 2648 HURT: 20 GAINED: 3 LOST: 25 1c527dd glsl: Rewrite (-abs(x) >= 0) as (x == 0) GM45 (0x2A42): total instructions in shared programs: 3541094 -> 3540937 (-0.00%) instructions in affected programs: 38227 -> 38070 (-0.41%) helped: 71 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4448079 -> 4447922 (-0.00%) instructions in affected programs: 37877 -> 37720 (-0.41%) helped: 71 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6830218 -> 6829906 (-0.00%) instructions in affected programs: 64204 -> 63892 (-0.49%) helped: 141 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6306247 -> 6306007 (-0.00%) instructions in affected programs: 38669 -> 38429 (-0.62%) helped: 109 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5932728 -> 5932488 (-0.00%) instructions in affected programs: 36638 -> 36398 (-0.66%) helped: 109 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7024814 -> 7024574 (-0.00%) instructions in affected programs: 36638 -> 36398 (-0.66%) helped: 109 HURT: 0 GAINED: 0 LOST: 0