577bdfb glsl: Optimize certain if-statements to just casts from the condition GM45 (0x2A42): total instructions in shared programs: 3552743 -> 3550447 (-0.06%) instructions in affected programs: 180265 -> 177969 (-1.27%) helped: 406 HURT: 184 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4393745 -> 4391433 (-0.05%) instructions in affected programs: 178451 -> 176139 (-1.30%) helped: 406 HURT: 184 GAINED: 318 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6852782 -> 6839574 (-0.19%) instructions in affected programs: 888935 -> 875727 (-1.49%) helped: 3525 HURT: 22 GAINED: 33 LOST: 10 Ivy Bridge (0x0166): total instructions in shared programs: 6325581 -> 6312845 (-0.20%) instructions in affected programs: 785942 -> 773206 (-1.62%) helped: 3412 HURT: 20 GAINED: 4 LOST: 9 Haswell (0x0426): total instructions in shared programs: 5953497 -> 5940747 (-0.21%) instructions in affected programs: 723433 -> 710683 (-1.76%) helped: 3417 HURT: 20 GAINED: 26 LOST: 7 Broadwell (0x162E): total instructions in shared programs: 7046642 -> 7037029 (-0.14%) instructions in affected programs: 751308 -> 741695 (-1.28%) helped: 3417 HURT: 20 GAINED: 26 LOST: 7 94bb4db glsl: Rewrite (-abs(x) >= 0) as (x == 0) GM45 (0x2A42): total instructions in shared programs: 3550447 -> 3550290 (-0.00%) instructions in affected programs: 38298 -> 38141 (-0.41%) helped: 71 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4458175 -> 4458018 (-0.00%) instructions in affected programs: 37948 -> 37791 (-0.41%) helped: 71 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6856133 -> 6855823 (-0.00%) instructions in affected programs: 63536 -> 63226 (-0.49%) helped: 140 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6314811 -> 6314571 (-0.00%) instructions in affected programs: 38777 -> 38537 (-0.62%) helped: 109 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5950719 -> 5950479 (-0.00%) instructions in affected programs: 36681 -> 36441 (-0.65%) helped: 109 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7046989 -> 7046749 (-0.00%) instructions in affected programs: 36681 -> 36441 (-0.65%) helped: 109 HURT: 0 GAINED: 0 LOST: 0 21998b4 i965: Don't make instructions with a null dest a barrier to scheduling. GM45 (0x2A42): total instructions in shared programs: 3550290 -> 3550312 (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: 4458018 -> 4458093 (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: 6829389 -> 6829389 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 29 LOST: 46 Ivy Bridge (0x0166): total instructions in shared programs: 6294795 -> 6295228 (0.01%) instructions in affected programs: 643 -> 1076 (67.34%) helped: 0 HURT: 1 GAINED: 79 LOST: 38 Haswell (0x0426): total instructions in shared programs: 5930010 -> 5930443 (0.01%) instructions in affected programs: 643 -> 1076 (67.34%) helped: 0 HURT: 1 GAINED: 78 LOST: 48 Broadwell (0x162E): total instructions in shared programs: 7023697 -> 7024133 (0.01%) instructions in affected programs: 631 -> 1067 (69.10%) helped: 0 HURT: 1 GAINED: 79 LOST: 53 16d7420 glsl: Add a foreach_in_list_reverse_safe macro. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6331737 -> 6331737 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 1678b39 i965/cfg: Add a foreach_inst_in_block_reverse_safe macro. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6331737 -> 6331737 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 4010ae1 i965/cfg: Add a foreach_block_reverse macro. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6331737 -> 6331737 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 334169f i965: Add backend_instruction::can_do_cmod(). GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6331737 -> 6331737 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 18ad62d i965: Add a brw_negate_cmod() function. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6330971 -> 6330971 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 6 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 f59da94 i965: Add is_3src() to backend_instruction. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6330971 -> 6330971 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 6 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 cffd67b i965/fs: Add a pass to fixup 3-src instructions that have a null dest. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6331737 -> 6331737 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 b177b1c i965/fs: Apply conditional mod specially to split MAD/LRP. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6331737 -> 6331737 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 90eee77 i965/fs: Eliminate null-dst instructions without side-effects. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3550312 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4460024 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6845575 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6331737 -> 6331737 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5960310 -> 5960310 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7054383 -> 7054383 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 4a01883 i965/fs: Add pass to propagate conditional modifiers. GM45 (0x2A42): total instructions in shared programs: 3550312 -> 3542738 (-0.21%) instructions in affected programs: 1203703 -> 1196129 (-0.63%) helped: 4163 HURT: 1 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4460024 -> 4450435 (-0.21%) instructions in affected programs: 1422184 -> 1412595 (-0.67%) helped: 5176 HURT: 2 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6845575 -> 6833218 (-0.18%) instructions in affected programs: 1766662 -> 1754305 (-0.70%) helped: 7659 HURT: 6 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6326371 -> 6313152 (-0.21%) instructions in affected programs: 1798358 -> 1785139 (-0.74%) helped: 8459 HURT: 6 GAINED: 0 LOST: 15 Haswell (0x0426): total instructions in shared programs: 5955747 -> 5942463 (-0.22%) instructions in affected programs: 1654283 -> 1640999 (-0.80%) helped: 8507 HURT: 4 GAINED: 0 LOST: 15 Broadwell (0x162E): total instructions in shared programs: 7049820 -> 7034542 (-0.22%) instructions in affected programs: 2037378 -> 2022100 (-0.75%) helped: 9900 HURT: 4 GAINED: 0 LOST: 15 3673180 i965/fs: Add unit tests for cmod propagation pass. GM45 (0x2A42): total instructions in shared programs: 3542738 -> 3542738 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4450435 -> 4450435 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6833218 -> 6833218 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6313152 -> 6313152 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5942463 -> 5942463 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7034542 -> 7034542 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 5ebba27 i965/fs: Propagate cmod across flag read if it contains the same value. GM45 (0x2A42): total instructions in shared programs: 3542738 -> 3542485 (-0.01%) instructions in affected programs: 40601 -> 40348 (-0.62%) helped: 177 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4450435 -> 4450162 (-0.01%) instructions in affected programs: 42837 -> 42564 (-0.64%) helped: 192 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6833218 -> 6832678 (-0.01%) instructions in affected programs: 75246 -> 74706 (-0.72%) helped: 380 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6313152 -> 6312604 (-0.01%) instructions in affected programs: 73169 -> 72621 (-0.75%) helped: 390 HURT: 0 GAINED: 2 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5942116 -> 5941566 (-0.01%) instructions in affected programs: 68908 -> 68358 (-0.80%) helped: 392 HURT: 0 GAINED: 0 LOST: 3 Broadwell (0x162E): total instructions in shared programs: 7034542 -> 7033992 (-0.01%) instructions in affected programs: 68462 -> 67912 (-0.80%) helped: 392 HURT: 0 GAINED: 0 LOST: 0 b71a982 i965/fs: Allow flipping cond mod for negated arguments. GM45 (0x2A42): total instructions in shared programs: 3542485 -> 3541145 (-0.04%) instructions in affected programs: 290103 -> 288763 (-0.46%) helped: 910 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4450162 -> 4448130 (-0.05%) instructions in affected programs: 425806 -> 423774 (-0.48%) helped: 1259 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6832678 -> 6830300 (-0.03%) instructions in affected programs: 463844 -> 461466 (-0.51%) helped: 1704 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6311737 -> 6309390 (-0.04%) instructions in affected programs: 435046 -> 432699 (-0.54%) helped: 1700 HURT: 0 GAINED: 0 LOST: 3 Haswell (0x0426): total instructions in shared programs: 5941026 -> 5938660 (-0.04%) instructions in affected programs: 413646 -> 411280 (-0.57%) helped: 1710 HURT: 0 GAINED: 3 LOST: 1 Broadwell (0x162E): total instructions in shared programs: 7033452 -> 7031085 (-0.03%) instructions in affected programs: 413657 -> 411290 (-0.57%) helped: 1711 HURT: 0 GAINED: 0 LOST: 1 e4ea850 i965/fs: Add support for removing MOV.NZ instructions. GM45 (0x2A42): total instructions in shared programs: 3541145 -> 3541145 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4448130 -> 4448130 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6830300 -> 6830300 (0.00%) instructions in affected programs: 0 -> 0 helped: 0 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6309390 -> 6305330 (-0.06%) instructions in affected programs: 320946 -> 316886 (-1.27%) helped: 2037 HURT: 0 GAINED: 0 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5936035 -> 5931973 (-0.07%) instructions in affected programs: 295814 -> 291752 (-1.37%) helped: 2039 HURT: 0 GAINED: 0 LOST: 8 Broadwell (0x162E): total instructions in shared programs: 7028121 -> 7024059 (-0.06%) instructions in affected programs: 294831 -> 290769 (-1.38%) helped: 2039 HURT: 0 GAINED: 0 LOST: 8 8986023 i965: Convert CMP.GE -(abs)reg 0 -> CMP.Z reg 0. GM45 (0x2A42): total instructions in shared programs: 3541145 -> 3540937 (-0.01%) instructions in affected programs: 119439 -> 119231 (-0.17%) helped: 208 HURT: 0 GAINED: 0 LOST: 0 Iron Lake (0x0046): total instructions in shared programs: 4448130 -> 4447922 (-0.00%) instructions in affected programs: 117564 -> 117356 (-0.18%) helped: 208 HURT: 0 GAINED: 0 LOST: 0 Sandy Bridge (0x0116): total instructions in shared programs: 6830300 -> 6829906 (-0.01%) instructions in affected programs: 166349 -> 165955 (-0.24%) helped: 394 HURT: 0 GAINED: 0 LOST: 0 Ivy Bridge (0x0166): total instructions in shared programs: 6305330 -> 6304982 (-0.01%) instructions in affected programs: 123554 -> 123206 (-0.28%) helped: 348 HURT: 0 GAINED: 2 LOST: 0 Haswell (0x0426): total instructions in shared programs: 5931973 -> 5931625 (-0.01%) instructions in affected programs: 118862 -> 118514 (-0.29%) helped: 348 HURT: 0 GAINED: 2 LOST: 0 Broadwell (0x162E): total instructions in shared programs: 7024059 -> 7023711 (-0.00%) instructions in affected programs: 118682 -> 118334 (-0.29%) helped: 348 HURT: 0 GAINED: 2 LOST: 0