i965/vec4: Do not use additional register during cmod propagation
I want to preface this by saying I don't know why exactly this change fixes the issue in https://bugs.freedesktop.org/show_bug.cgi?id=110201 (issue also could be reproduced on gen9 with INTEL_SCALAR_VS=0 forcing vec4)
Here is the native code for the same shader with and without the fix:
Correct result (with this fix)
Pay attention forg77
Native code for unnamed vertex shader GLSL4 from disk cache:
mov(8) g54<1>.zwF 0x30000000VF /* [0F, 0F, 0F, 1F]VF */ { align16 1Q };
mov(8) g78<1>.yD 1D { align16 1Q };
mov(8) g80<1>.xUD 0x00000001UD { align16 1Q compacted };
mov(8) g83<1>.yzD 0x403000VF /* [0F, 1F, 2F, 0F]VF */ { align16 1Q };
mov(8) g86<1>.xUD 0x00000002UD { align16 1Q compacted };
mov(8) g88<1>.xD 1065353216D { align16 1Q };
mov(8) g92<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g55<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g55.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g56<1>.xUD 0x00000040UD { align16 1Q compacted };
mov(8) g58<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g58.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g59<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g6<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g6.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g7<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g8<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g8.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g9<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g10<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g10.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g11<1>.xUD 0x00000000UD { align16 1Q compacted };
add(8) g72<1>.xD g5<4>.zD g5<4>.xD { align16 1Q };
mov(8) g50<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g50.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g12<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g12.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g13<1>.xUD 0x00000020UD { align16 1Q compacted };
mov(8) g14<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g14.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g15<1>.xUD 0x00000020UD { align16 1Q compacted };
mov(8) g87<1>UD g3<4>UD { align16 1Q };
shr(8) g89<1>.xUD g3<4>.wUD 0x00000006UD { align16 1Q };
mov(8) g16<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g16.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g17<1>.xUD 0x00000040UD { align16 1Q compacted };
mov(8) g52<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g52.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g18<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g18.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g19<1>.xUD 0x00000050UD { align16 1Q compacted };
mov(8) g20<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g20.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g21<1>.xUD 0x00000050UD { align16 1Q compacted };
mov(8) g22<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g22.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g23<1>.xUD 0x00000050UD { align16 1Q compacted };
mov(8) g24<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g24.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g25<1>.xUD 0x00000040UD { align16 1Q compacted };
send(8) g98<1>F g55<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g59<1>F g58<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g62<1>F g8<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g66<1>F g10<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
shl(8) g51<1>.xD g72<4>.xD 0x00000004UD { align16 1Q };
send(8) g82<1>F g12<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g85<1>F g14<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
and(8) g90<1>.xUD g89<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g93<1>F g16<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g100<1>F g18<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g106<1>F g20<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
math intdiv(8) g55<1>.xUD g5<4>.wUD g98<4>.yUD { align16 1Q };
send(8) g58<1>F g6<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g9<1>F g22<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g74<1>UD g50<0>.xUD 0x04187001
sampler MsgDesc: ld SIMD4x2 Surface = 1 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g81<1>.xUD g82<4>.xUD { align16 1Q compacted };
mov(8) g84<1>.xUD g85<4>.yUD { align16 1Q };
add(8) g94<1>.xD g90<4>.xD g93<4>.xD { align16 1Q compacted };
send(8) g16<1>F g24<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mul(8) g56<1>.xD g55<4>.xD g98<4>.yD { align16 1Q };
mov(8) g63<1>.xF g55<4>.xUD { align16 1Q compacted };
mov(8) g22<1>.xyzUD g2<4>.xyzzUD { align16 1Q };
cmp.z.f0.0(8) g77<1>.xD g74<4>.xD 1D { align16 1Q compacted };
shl(8) g95<1>.xD g94<4>.xD 0x00000004UD { align16 1Q };
mov(8) g15<1>.xUD g16<4>.wUD { align16 1Q };
mov(8) g17<1>.xF g16<4>.wUD { align16 1Q };
add(8) g57<1>.xD g5<4>.wD -g56<4>.xD { align16 1Q };
mad(8) g67<1>.xF g62<4,4,1>.yF g66<4,4,1>.wF -g63<4,4,1>.xF { align16 1Q };
add(8) g10<1>.xF g63<4>.xF -g9<4>.yF { align16 1Q };
mov(8) g77<1>.yD g77<4>.xD { align16 1Q };
add(8) g53<1>.xUD g95<4>.xUD 0x00000040UD { align16 1Q compacted };
mov(8) g56<1>.xF g57<4>.xUD { align16 1Q compacted };
add(8) g69<1>.xF g67<4>.xF -g66<4>.wF { align16 1Q };
send(8) g96<1>UD g52<0>.xUD 0x04187001
sampler MsgDesc: ld SIMD4x2 Surface = 1 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mad(8) g59<1>.xF g59<4,4,1>.xF g58<4,4,1>.zF g56<4,4,1>.xF { align16 1Q };
add(8) g101<1>.xF g56<4>.xF -g100<4>.xF { align16 1Q compacted };
add(8) g107<1>.xF g56<4>.xF -g106<4>.zF { align16 1Q };
add(8) g97<1>.xD -g96<4>.xD 1D { align16 1Q compacted };
add(8) g68<1>.xF g59<4>.xF g58<4>.zF { align16 1Q };
(+f0.0.x) sel(8) g54<1>.xUD g68<4>.xUD g59<4>.xUD { align16 1Q };
cmp.z.f0.0(8) g79<1>.yD g74<4>.yD 1D { align16 1Q };
(+f0.0.y) sel(8) g54<1>.yUD g69<4>.xUD g67<4>.xUD { align16 1Q };
cmp.le.f0.0(8) g102<1>.xF (abs)g101<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
cmp.le.f0.0(8) g108<1>.xF (abs)g107<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
mov(8) g103<1>.xF -g102<4>.xD { align16 1Q compacted };
mov(8) g109<1>.xF -g108<4>.xD { align16 1Q compacted };
add(8) g110<1>.xF g103<4>.xF g109<4>.xF { align16 1Q compacted };
cmp.ge.f0.0(8) g111<1>.xF g110<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
cmp.le.f0.0(8) g11<1>.xF (abs)g10<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
cmp.le.f0.0(8) g18<1>.xF g17<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
mov(8) g6<1>.xF -g111<4>.xD { align16 1Q compacted };
mov(8) g12<1>.xF -g11<4>.xD { align16 1Q compacted };
add(8) g13<1>.xF g6<4>.xF g12<4>.xF { align16 1Q compacted };
cmp.ge.f0.0(8) g19<1>.xF g13<4>.xF 0x40000000F /* 2F */ { align16 1Q };
cmp.z.f0.0(8) g23<1>.yzD g97<4>.xD g83<4>.yyzzD { align16 1Q };
and(8) g20<1>.xUD g19<4>.xUD g18<4>.xUD { align16 1Q compacted };
cmp.nz.f0.0(8) null<1>.xD g23<4>.yD 0D { align16 1Q };
mov(8) g21<1>.xF -g20<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g24<1>.xUD g2<4>.yUD g2<4>.xUD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g23<4>.zD 0D { align16 1Q };
(+f0.0.x) sel(8) g25<1>.xUD g2<4>.zUD g24<4>.xUD { align16 1Q };
and(8) g51<1>.xUD g25<4>.xUD 0x000000ffUD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g97<4>.xD 1D { align16 1Q compacted };
(+f0.0.x) sel(8) g50<1>.xUD g85<4>.yUD g82<4>.xUD { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g51<4>.xD 1D { align16 1Q compacted };
(+f0.0.x) if(8) JIP: 128 UIP: 160 { align16 1Q };
shr(8) g53<1>.xUD g25<4>.xUD 0x00000008UD { align16 1Q compacted };
mov(8) g26<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g26.2<1>UD 0x00400000UD { align1 WE_all 1N };
and(8) g55<1>.xUD g53<4>.xUD 0x000000ffUD { align16 1Q compacted };
shl(8) g56<1>.xD g55<4>.xD 0x00000004UD { align16 1Q };
add(8) g27<1>.xD g56<4>.xD 96D { align16 1Q compacted };
send(8) g60<1>F g26<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g6<1>.xUD g60<4>.xUD { align16 1Q compacted };
else(8) JIP: 48 UIP: 48 { align16 1Q };
shr(8) g61<1>.xUD g25<4>.xUD 0x00000008UD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g86<4>.xD g51<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g6<1>.xUD g61<4>.xUD g50<4>.xUD { align16 1Q };
endif(8) JIP: 16 { align16 1Q };
shr(8) g63<1>.xUD g6<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g67<1>.xUD g6<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g70<1>.xUD g6<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g72<1>.xF g87<4>.xUD { align16 1Q compacted };
mov(8) g28<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g28.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g29<1>.xUD 0x00000010UD { align16 1Q compacted };
mov(8) g82<1>.xF g87<4>.yUD { align16 1Q };
mov(8) g30<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g30.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g31<1>.xUD 0x00000010UD { align16 1Q compacted };
cmp.nz.f0.0(8) null<1>.zD g77<4>.yD 0D { align16 1Q };
and(8) g91<1>.xUD g87<4>.zUD 0x00000fffUD { align16 1Q };
and(8) g93<1>.xUD g87<4>.zUD 0x00004000UD { align16 1Q };
and(8) g64<1>.xUD g63<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g68<1>.xUD g67<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g71<1>.xF g70<4>.xUD { align16 1Q compacted };
add(8) g56<1>.yF g72<4>.xF 0x3f800000F /* 1F */ { align16 1Q };
send(8) g75<1>F g28<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
add(8) g57<1>.yF g82<4>.xF 0x3f800000F /* 1F */ { align16 1Q };
send(8) g89<1>F g30<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
shr(8) g94<1>.xUD g93<4>.xUD 0x0000000eUD { align16 1Q compacted };
mov(8) g65<1>.xF g64<4>.xUD { align16 1Q compacted };
mov(8) g69<1>.xF g68<4>.xUD { align16 1Q compacted };
mov(8) g56<1>.xD g72<4>.xD { align16 1Q compacted };
mov(8) g74<1>.xUD g75<4>.xUD { align16 1Q compacted };
mov(8) g57<1>.xD g82<4>.xD { align16 1Q compacted };
mov(8) g85<1>.xUD g89<4>.yUD { align16 1Q };
mov(8) g73<1>.xF g94<4>.xUD { align16 1Q compacted };
mul(8) g55<1>.xF g65<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g76<1>.xyF g56<4>.xyyyF g75<4>.xF { align16 1Q };
mul(8) g90<1>.xyF g57<4>.xyyyF g89<4>.yF { align16 1Q };
mul(8) g55<1>.yF g69<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
(+f0.0.z) sel(8) g75<1>.zUD g76<4>.yUD g76<4>.xUD { align16 1Q };
mul(8) g55<1>.zF g71<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
mov(8) g76<1>.xF g91<4>.xUD { align16 1Q compacted };
cmp.nz.f0.0(8) null<1>.wD g79<4>.yD 0D { align16 1Q };
(+f0.0.w) sel(8) g75<1>.wUD g90<4>.yUD g90<4>.xUD { align16 1Q };
cmp.z.f0.0(8) g95<1>.yzD g96<4>.xD g83<4>.yyzzD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g95<4>.yD 0D { align16 1Q };
(+f0.0.x) sel(8) g97<1>.xUD g22<4>.yUD g22<4>.xUD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g95<4>.zD 0D { align16 1Q };
(+f0.0.x) sel(8) g98<1>.xUD g22<4>.zUD g97<4>.xUD { align16 1Q };
and(8) g101<1>.xUD g98<4>.xUD 0x000000ffUD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g96<4>.xD g78<4>.yD { align16 1Q };
(+f0.0.x) sel(8) g100<1>.xUD g84<4>.xUD g81<4>.xUD { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g80<4>.xD g101<4>.xD { align16 1Q compacted };
(+f0.0.x) if(8) JIP: 128 UIP: 160 { align16 1Q };
shr(8) g103<1>.xUD g98<4>.xUD 0x00000008UD { align16 1Q compacted };
mov(8) g32<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g32.2<1>UD 0x00400000UD { align1 WE_all 1N };
and(8) g104<1>.xUD g103<4>.xUD 0x000000ffUD { align16 1Q compacted };
shl(8) g105<1>.xD g104<4>.xD 0x00000004UD { align16 1Q };
add(8) g33<1>.xD g105<4>.xD 96D { align16 1Q compacted };
send(8) g109<1>F g32<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g7<1>.xUD g109<4>.xUD { align16 1Q compacted };
else(8) JIP: 48 UIP: 48 { align16 1Q };
shr(8) g110<1>.xUD g98<4>.xUD 0x00000008UD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g86<4>.xD g101<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g7<1>.xUD g110<4>.xUD g100<4>.xUD { align16 1Q };
endif(8) JIP: 16 { align16 1Q };
shr(8) g6<1>.xUD g7<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g10<1>.xUD g7<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g13<1>.xUD g7<4>.xUD 0x000000ffUD { align16 1Q compacted };
shr(8) g17<1>.xUD g87<4>.wUD 0x00000008UD { align16 1Q };
mov(8) g34<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g34.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g35<1>.xUD 0x00000020UD { align16 1Q compacted };
and(8) g50<1>.xUD g4<4>.xUD 0x00000001UD { align16 1Q compacted };
and(8) g53<1>.xUD g4<4>.xUD 0x00000002UD { align16 1Q compacted };
mov(8) g36<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g36.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g37<1>.xUD 0x00000030UD { align16 1Q compacted };
and(8) g70<1>.xUD g22<4>.zUD 0x000000ffUD { align16 1Q };
and(8) g8<1>.xUD g6<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g11<1>.xUD g10<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g14<1>.xF g13<4>.xUD { align16 1Q compacted };
and(8) g18<1>.xUD g17<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g26<1>F g34<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g51<1>.xF g50<4>.xUD { align16 1Q compacted };
shr(8) g56<1>.xUD g53<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g61<1>F g36<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g80<4>.xD g70<4>.xD { align16 1Q compacted };
mov(8) g9<1>.xF g8<4>.xUD { align16 1Q compacted };
mov(8) g12<1>.xF g11<4>.xUD { align16 1Q compacted };
mov(8) g20<1>.xF g18<4>.xUD { align16 1Q compacted };
shr(8) g27<1>.xUD g26<4>.zUD 0x00000010UD { align16 1Q };
shr(8) g30<1>.xUD g26<4>.zUD 0x00000008UD { align16 1Q };
and(8) g33<1>.xUD g26<4>.zUD 0x000000ffUD { align16 1Q };
mov(8) g57<1>.xF g56<4>.xUD { align16 1Q compacted };
shr(8) g62<1>.xUD g61<4>.zUD 0x00000010UD { align16 1Q };
shr(8) g65<1>.xUD g61<4>.zUD 0x00000008UD { align16 1Q };
and(8) g68<1>.xUD g61<4>.zUD 0x000000ffUD { align16 1Q };
mul(8) g58<1>.xF g9<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
lrp(8) g23<1>.xF g20<4,4,1>.xF g1.1<0,1,0>F g88<4,4,1>.xF { align16 1Q };
and(8) g28<1>.xUD g27<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g31<1>.xUD g30<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g34<1>.xF g33<4>.xUD { align16 1Q compacted };
and(8) g63<1>.xUD g62<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g66<1>.xUD g65<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g69<1>.xF g68<4>.xUD { align16 1Q compacted };
mul(8) g58<1>.yF g12<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mul(8) g73<1>.yF g1<0>.xF g23<4>.xF { align16 1Q };
mov(8) g29<1>.xF g28<4>.xUD { align16 1Q compacted };
mov(8) g32<1>.xF g31<4>.xUD { align16 1Q compacted };
mov(8) g64<1>.xF g63<4>.xUD { align16 1Q compacted };
mov(8) g67<1>.xF g66<4>.xUD { align16 1Q compacted };
mul(8) g58<1>.zF g14<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g59<1>.xF g29<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g60<1>.xF g64<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g59<1>.yF g32<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mul(8) g60<1>.yF g67<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mul(8) g59<1>.zF g34<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g60<1>.zF g69<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
lrp(8) g52<1>.xyzF g51<4,4,1>.xF g59<4,4,1>.xyzzF g58<4,4,1>.xyzzF { align16 1Q };
(+f0.0.x) if(8) JIP: 136 UIP: 176 { align16 1Q };
shr(8) g72<1>.xUD g22<4>.zUD 0x00000008UD { align16 1Q };
mov(8) g38<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g38.2<1>UD 0x00400000UD { align1 WE_all 1N };
and(8) g78<1>.xUD g72<4>.xUD 0x000000ffUD { align16 1Q compacted };
shl(8) g80<1>.xD g78<4>.xD 0x00000004UD { align16 1Q };
add(8) g39<1>.xD g80<4>.xD 96D { align16 1Q compacted };
send(8) g84<1>F g38<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g8<1>.xUD g84<4>.xUD { align16 1Q compacted };
else(8) JIP: 56 UIP: 56 { align16 1Q };
shr(8) g89<1>.xUD g22<4>.zUD 0x00000008UD { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g86<4>.xD g70<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g8<1>.xUD g89<4>.xUD g7<4>.xUD { align16 1Q };
endif(8) JIP: 16 { align16 1Q };
shr(8) g91<1>.xUD g8<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g95<1>.xUD g8<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g98<1>.xUD g8<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g40<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g40.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g41<1>.xUD 0x00000030UD { align16 1Q compacted };
mul(8) g105<1>.xyF g54<4>.zwwwF g85<4>.xF { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g77<4>.yD 0D { align16 1Q };
shr(8) g106<1>.xUD g87<4>.wUD 0x00000002UD { align16 1Q };
shr(8) g111<1>.xUD g87<4>.wUD 0x00000007UD { align16 1Q };
mov(8) g42<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g42.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g43<1>.xUD 0x00000030UD { align16 1Q compacted };
mov(8) g44<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g44.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g45<1>.xUD 0x00000030UD { align16 1Q compacted };
mov(8) g46<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g46.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g47<1>.xUD 0x00000010UD { align16 1Q compacted };
mov(8) g48<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g48.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g49<1>.xUD 0x00000020UD { align16 1Q compacted };
mov(8) g114<1>UD 0x00000000UD { align16 1Q compacted };
mov(8) g115<1>F g54<4>F { align16 1Q };
and(8) g93<1>.xUD g91<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g96<1>.xUD g95<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g99<1>.xF g98<4>.xUD { align16 1Q compacted };
send(8) g102<1>F g40<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
and(8) g107<1>.xUD g106<4>.xUD 0x00000003UD { align16 1Q compacted };
and(8) g6<1>.xUD g111<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g12<1>F g42<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g26<1>F g44<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g37<1>F g46<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g94<1>.xF g93<4>.xUD { align16 1Q compacted };
mov(8) g97<1>.xF g96<4>.xUD { align16 1Q compacted };
mov(8) g103<1>.xF g102<4>.wUD { align16 1Q };
mov(8) g108<1>.xF g107<4>.xUD { align16 1Q compacted };
shl(8) g7<1>.xD g6<4>.xD 0x00000002UD { align16 1Q };
shr(8) g13<1>.xUD g12<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g17<1>.xUD g12<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g22<1>.xUD g12<4>.xUD 0x000000ffUD { align16 1Q compacted };
mul(8) g42<1>.xD g15<4>.xD -g19<4>.xD { align16 1Q compacted };
shr(8) g27<1>.xUD g26<4>.yUD 0x00000010UD { align16 1Q };
shr(8) g30<1>.xUD g26<4>.yUD 0x00000008UD { align16 1Q };
and(8) g33<1>.xUD g26<4>.yUD 0x000000ffUD { align16 1Q };
send(8) g47<1>F g48<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mul(8) g61<1>.xF g94<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
add(8) g62<1>.yF g103<4>.xF 0x3f800000F /* 1F */ { align16 NoDDClr 1Q };
add(8) g64<1>.yF g108<4>.xF 0x3f800000F /* 1F */ { align16 NoDDClr 1Q };
mov(8) g8<1>.xF g7<4>.xUD { align16 1Q compacted };
and(8) g14<1>.xUD g13<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g18<1>.xUD g17<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g23<1>.xF g22<4>.xUD { align16 1Q compacted };
mov(8) g43<1>.xF g42<4>.xUD { align16 1Q compacted };
and(8) g28<1>.xUD g27<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g31<1>.xUD g30<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g34<1>.xF g33<4>.xUD { align16 1Q compacted };
shr(8) g48<1>.xUD g47<4>.wUD 0x00000010UD { align16 1Q };
mul(8) g61<1>.yF g97<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mov(8) g62<1>.xD g103<4>.xD { align16 NoDDChk 1Q compacted };
mov(8) g64<1>.xD g108<4>.xD { align16 NoDDChk 1Q compacted };
add(8) g66<1>.yF g8<4>.xF 0x3f800000F /* 1F */ { align16 NoDDClr 1Q };
mov(8) g16<1>.xF g14<4>.xUD { align16 1Q compacted };
mov(8) g20<1>.xF g18<4>.xUD { align16 1Q compacted };
add(8) g69<1>.yF g43<4>.xF g88<4>.xF { align16 NoDDClr 1Q };
mov(8) g29<1>.xF g28<4>.xUD { align16 1Q compacted };
mov(8) g32<1>.xF g31<4>.xUD { align16 1Q compacted };
and(8) g49<1>.xUD g48<4>.xUD 0x000000ffUD { align16 1Q compacted };
mul(8) g61<1>.zF g99<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g104<1>.xyF g62<4>.xyyyF g74<4>.xF { align16 1Q };
mul(8) g109<1>.xyF g64<4>.xyyyF g74<4>.xF { align16 1Q };
mov(8) g66<1>.xD g8<4>.xD { align16 NoDDChk 1Q compacted };
mul(8) g67<1>.xF g16<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
mov(8) g69<1>.xD g43<4>.xD { align16 NoDDChk 1Q compacted };
mul(8) g68<1>.xF g29<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
mov(8) g50<1>.xF g49<4>.xUD { align16 1Q compacted };
lrp(8) g40<1>.xyzF g57<4,4,1>.xF g60<4,4,1>.xyzzF g61<4,4,1>.xyzzF { align16 1Q };
(+f0.0.x) sel(8) g63<1>.xUD g104<4>.yUD g104<4>.xUD { align16 1Q };
mul(8) g9<1>.xyF g66<4>.xyyyF g74<4>.xF { align16 1Q };
mul(8) g67<1>.yF g20<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g44<1>.xyF g69<4>.xyyyF g74<4>.xF { align16 1Q };
mul(8) g68<1>.yF g32<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g70<1>.xF g50<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
cmp.nz.f0.0(8) null<1>.yD g79<4>.yD 0D { align16 1Q };
mul(8) g67<1>.zF g23<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g68<1>.zF g34<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
(+f0.0.y) sel(8) g63<1>.yUD g105<4>.yUD g105<4>.xUD { align16 1Q };
mov(8) g67<1>.wD g88<4>.xD { align16 1Q compacted };
lrp(8) g38<1>.xyzF g37<4,4,1>.wF g55<4,4,1>.xyzzF g68<4,4,1>.xyzzF { align16 1Q };
mov(8) g63<1>.zD g92<4>.xD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g77<4>.yD 0D { align16 1Q };
mov(8) g116<1>F g67<4>F { align16 1Q };
lrp(8) g39<1>.xyzF g21<4,4,1>.xF g38<4,4,1>.xyzzF g52<4,4,1>.xyzzF { align16 1Q };
lrp(8) g119<1>.xyzF g21<4,4,1>.xF g38<4,4,1>.xyzzF g40<4,4,1>.xyzzF { align16 1Q };
(+f0.0.x) sel(8) g65<1>.xUD g109<4>.yUD g109<4>.xUD { align16 1Q };
mov(8) g75<1>.xyD g39<4>.yzzzD { align16 1Q };
shr(8) g52<1>.xUD g47<4>.wUD 0x00000008UD { align16 1Q };
mov(8) g119<1>.wD g39<4>.xD { align16 1Q compacted };
mov(8) g65<1>.yzD g63<4>.yyzzD { align16 1Q };
cmp.nz.f0.0(8) null<1>.yD g77<4>.yD 0D { align16 1Q };
mov(8) g120<1>F g75<4>F { align16 1Q };
and(8) g53<1>.xUD g52<4>.xUD 0x000000ffUD { align16 1Q compacted };
lrp(8) g122<1>.xyzF g57<4,4,1>.xF g63<4,4,1>.xyzzF g65<4,4,1>.xyzzF { align16 1Q };
(+f0.0.y) sel(8) g76<1>.yUD g9<4>.yUD g9<4>.xUD { align16 1Q };
(+f0.0.y) sel(8) g72<1>.yUD g44<4>.yUD g44<4>.xUD { align16 1Q };
mov(8) g56<1>.xF g53<4>.xUD { align16 1Q compacted };
and(8) g57<1>.xUD g47<4>.wUD 0x000000ffUD { align16 1Q };
mov(8) g76<1>.zwD g63<4>.yyyzD { align16 1Q };
mul(8) g70<1>.yF g56<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mov(8) g58<1>.xF g57<4>.xUD { align16 1Q compacted };
mov(8) g121<1>F g76<4>F { align16 1Q };
mul(8) g70<1>.zF g58<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
lrp(8) g59<1>.xyzF g51<4,4,1>.xF g70<4,4,1>.xyzzF g55<4,4,1>.xyzzF { align16 1Q };
lrp(8) g60<1>.xyzF g21<4,4,1>.xF g67<4,4,1>.xyzzF g59<4,4,1>.xyzzF { align16 1Q };
mov(8) g72<1>.xD g60<4>.zD { align16 NoDDClr 1Q };
mov(8) g73<1>.zwD g60<4>.xxxyD { align16 1Q };
mov(8) g72<1>.zwD g63<4>.yyyzD { align16 NoDDChk 1Q };
mov(8) g117<1>F g73<4>F { align16 1Q };
mov(8) g118<1>F g72<4>F { align16 1Q };
mov(8) g113<1>UD g0<4>UD { align16 WE_all 1Q };
or(1) g113.5<1>UD g0.5<0,1,0>UD 0x0000ff00UD { align1 WE_all 1N };
send(8) null<1>F g113<0>.xF 0x96088000
urb MsgDesc: 0 write HWord interleave mlen 11 rlen 0 { align16 1Q EOT };
Incorrect result (without this fix)
Pay attention forg77
Native code for unnamed vertex shader GLSL4 from disk cache:
mov(8) g54<1>.zwF 0x30000000VF /* [0F, 0F, 0F, 1F]VF */ { align16 1Q };
mov(8) g78<1>.yD 1D { align16 1Q };
mov(8) g80<1>.xUD 0x00000001UD { align16 1Q compacted };
mov(8) g83<1>.yzD 0x403000VF /* [0F, 1F, 2F, 0F]VF */ { align16 1Q };
mov(8) g86<1>.xUD 0x00000002UD { align16 1Q compacted };
mov(8) g88<1>.xD 1065353216D { align16 1Q };
mov(8) g92<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g55<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g55.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g56<1>.xUD 0x00000040UD { align16 1Q compacted };
mov(8) g58<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g58.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g59<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g6<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g6.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g7<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g8<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g8.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g9<1>.xUD 0x00000000UD { align16 1Q compacted };
mov(8) g10<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g10.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g11<1>.xUD 0x00000000UD { align16 1Q compacted };
add(8) g72<1>.xD g5<4>.zD g5<4>.xD { align16 1Q };
mov(8) g50<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g50.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g12<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g12.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g13<1>.xUD 0x00000020UD { align16 1Q compacted };
mov(8) g14<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g14.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g15<1>.xUD 0x00000020UD { align16 1Q compacted };
mov(8) g87<1>UD g3<4>UD { align16 1Q };
shr(8) g89<1>.xUD g3<4>.wUD 0x00000006UD { align16 1Q };
mov(8) g16<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g16.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g17<1>.xUD 0x00000040UD { align16 1Q compacted };
mov(8) g52<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g52.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g18<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g18.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g19<1>.xUD 0x00000050UD { align16 1Q compacted };
mov(8) g20<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g20.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g21<1>.xUD 0x00000050UD { align16 1Q compacted };
mov(8) g22<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g22.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g23<1>.xUD 0x00000050UD { align16 1Q compacted };
mov(8) g24<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g24.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g25<1>.xUD 0x00000040UD { align16 1Q compacted };
send(8) g98<1>F g55<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g59<1>F g58<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g62<1>F g8<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g66<1>F g10<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
shl(8) g51<1>.xD g72<4>.xD 0x00000004UD { align16 1Q };
send(8) g82<1>F g12<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g85<1>F g14<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
and(8) g90<1>.xUD g89<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g93<1>F g16<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g100<1>F g18<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g106<1>F g20<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
math intdiv(8) g55<1>.xUD g5<4>.wUD g98<4>.yUD { align16 1Q };
send(8) g58<1>F g6<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g9<1>F g22<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g74<1>UD g50<0>.xUD 0x04187001
sampler MsgDesc: ld SIMD4x2 Surface = 1 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g81<1>.xUD g82<4>.xUD { align16 1Q compacted };
mov(8) g84<1>.xUD g85<4>.yUD { align16 1Q };
add(8) g94<1>.xD g90<4>.xD g93<4>.xD { align16 1Q compacted };
send(8) g16<1>F g24<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mul(8) g56<1>.xD g55<4>.xD g98<4>.yD { align16 1Q };
mov(8) g63<1>.xF g55<4>.xUD { align16 1Q compacted };
mov(8) g22<1>.xyzUD g2<4>.xyzzUD { align16 1Q };
cmp.z.f0.0(8) g77<1>.yD g74<4>.xD 1D { align16 1Q };
shl(8) g95<1>.xD g94<4>.xD 0x00000004UD { align16 1Q };
mov(8) g15<1>.xUD g16<4>.wUD { align16 1Q };
mov(8) g17<1>.xF g16<4>.wUD { align16 1Q };
add(8) g57<1>.xD g5<4>.wD -g56<4>.xD { align16 1Q };
mad(8) g67<1>.xF g62<4,4,1>.yF g66<4,4,1>.wF -g63<4,4,1>.xF { align16 1Q };
add(8) g10<1>.xF g63<4>.xF -g9<4>.yF { align16 1Q };
add(8) g53<1>.xUD g95<4>.xUD 0x00000040UD { align16 1Q compacted };
mov(8) g56<1>.xF g57<4>.xUD { align16 1Q compacted };
add(8) g69<1>.xF g67<4>.xF -g66<4>.wF { align16 1Q };
send(8) g96<1>UD g52<0>.xUD 0x04187001
sampler MsgDesc: ld SIMD4x2 Surface = 1 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mad(8) g59<1>.xF g59<4,4,1>.xF g58<4,4,1>.zF g56<4,4,1>.xF { align16 1Q };
add(8) g101<1>.xF g56<4>.xF -g100<4>.xF { align16 1Q compacted };
add(8) g107<1>.xF g56<4>.xF -g106<4>.zF { align16 1Q };
add(8) g97<1>.xD -g96<4>.xD 1D { align16 1Q compacted };
add(8) g68<1>.xF g59<4>.xF g58<4>.zF { align16 1Q };
(+f0.0.x) sel(8) g54<1>.xUD g68<4>.xUD g59<4>.xUD { align16 1Q };
cmp.z.f0.0(8) g79<1>.yD g74<4>.yD 1D { align16 1Q };
(+f0.0.y) sel(8) g54<1>.yUD g69<4>.xUD g67<4>.xUD { align16 1Q };
cmp.le.f0.0(8) g102<1>.xF (abs)g101<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
cmp.le.f0.0(8) g108<1>.xF (abs)g107<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
mov(8) g103<1>.xF -g102<4>.xD { align16 1Q compacted };
mov(8) g109<1>.xF -g108<4>.xD { align16 1Q compacted };
add(8) g110<1>.xF g103<4>.xF g109<4>.xF { align16 1Q compacted };
cmp.ge.f0.0(8) g111<1>.xF g110<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
cmp.le.f0.0(8) g11<1>.xF (abs)g10<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
cmp.le.f0.0(8) g18<1>.xF g17<4>.xF 0x3f000000F /* 0.5F */ { align16 1Q };
mov(8) g6<1>.xF -g111<4>.xD { align16 1Q compacted };
mov(8) g12<1>.xF -g11<4>.xD { align16 1Q compacted };
add(8) g13<1>.xF g6<4>.xF g12<4>.xF { align16 1Q compacted };
cmp.ge.f0.0(8) g19<1>.xF g13<4>.xF 0x40000000F /* 2F */ { align16 1Q };
cmp.z.f0.0(8) g23<1>.yzD g97<4>.xD g83<4>.yyzzD { align16 1Q };
and(8) g20<1>.xUD g19<4>.xUD g18<4>.xUD { align16 1Q compacted };
cmp.nz.f0.0(8) null<1>.xD g23<4>.yD 0D { align16 1Q };
mov(8) g21<1>.xF -g20<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g24<1>.xUD g2<4>.yUD g2<4>.xUD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g23<4>.zD 0D { align16 1Q };
(+f0.0.x) sel(8) g25<1>.xUD g2<4>.zUD g24<4>.xUD { align16 1Q };
and(8) g51<1>.xUD g25<4>.xUD 0x000000ffUD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g97<4>.xD 1D { align16 1Q compacted };
(+f0.0.x) sel(8) g50<1>.xUD g85<4>.yUD g82<4>.xUD { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g51<4>.xD 1D { align16 1Q compacted };
(+f0.0.x) if(8) JIP: 128 UIP: 160 { align16 1Q };
shr(8) g53<1>.xUD g25<4>.xUD 0x00000008UD { align16 1Q compacted };
mov(8) g26<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g26.2<1>UD 0x00400000UD { align1 WE_all 1N };
and(8) g55<1>.xUD g53<4>.xUD 0x000000ffUD { align16 1Q compacted };
shl(8) g56<1>.xD g55<4>.xD 0x00000004UD { align16 1Q };
add(8) g27<1>.xD g56<4>.xD 96D { align16 1Q compacted };
send(8) g60<1>F g26<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g6<1>.xUD g60<4>.xUD { align16 1Q compacted };
else(8) JIP: 48 UIP: 48 { align16 1Q };
shr(8) g61<1>.xUD g25<4>.xUD 0x00000008UD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g86<4>.xD g51<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g6<1>.xUD g61<4>.xUD g50<4>.xUD { align16 1Q };
endif(8) JIP: 16 { align16 1Q };
shr(8) g63<1>.xUD g6<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g67<1>.xUD g6<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g70<1>.xUD g6<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g72<1>.xF g87<4>.xUD { align16 1Q compacted };
mov(8) g28<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g28.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g29<1>.xUD 0x00000010UD { align16 1Q compacted };
mov(8) g82<1>.xF g87<4>.yUD { align16 1Q };
mov(8) g30<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g30.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g31<1>.xUD 0x00000010UD { align16 1Q compacted };
cmp.nz.f0.0(8) null<1>.zD g77<4>.yD 0D { align16 1Q };
and(8) g91<1>.xUD g87<4>.zUD 0x00000fffUD { align16 1Q };
and(8) g93<1>.xUD g87<4>.zUD 0x00004000UD { align16 1Q };
and(8) g64<1>.xUD g63<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g68<1>.xUD g67<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g71<1>.xF g70<4>.xUD { align16 1Q compacted };
add(8) g56<1>.yF g72<4>.xF 0x3f800000F /* 1F */ { align16 1Q };
send(8) g75<1>F g28<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
add(8) g57<1>.yF g82<4>.xF 0x3f800000F /* 1F */ { align16 1Q };
send(8) g89<1>F g30<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
shr(8) g94<1>.xUD g93<4>.xUD 0x0000000eUD { align16 1Q compacted };
mov(8) g65<1>.xF g64<4>.xUD { align16 1Q compacted };
mov(8) g69<1>.xF g68<4>.xUD { align16 1Q compacted };
mov(8) g56<1>.xD g72<4>.xD { align16 1Q compacted };
mov(8) g74<1>.xUD g75<4>.xUD { align16 1Q compacted };
mov(8) g57<1>.xD g82<4>.xD { align16 1Q compacted };
mov(8) g85<1>.xUD g89<4>.yUD { align16 1Q };
mov(8) g73<1>.xF g94<4>.xUD { align16 1Q compacted };
mul(8) g55<1>.xF g65<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g76<1>.xyF g56<4>.xyyyF g75<4>.xF { align16 1Q };
mul(8) g90<1>.xyF g57<4>.xyyyF g89<4>.yF { align16 1Q };
mul(8) g55<1>.yF g69<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
(+f0.0.z) sel(8) g75<1>.zUD g76<4>.yUD g76<4>.xUD { align16 1Q };
mul(8) g55<1>.zF g71<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
mov(8) g76<1>.xF g91<4>.xUD { align16 1Q compacted };
cmp.nz.f0.0(8) null<1>.wD g79<4>.yD 0D { align16 1Q };
(+f0.0.w) sel(8) g75<1>.wUD g90<4>.yUD g90<4>.xUD { align16 1Q };
cmp.z.f0.0(8) g95<1>.yzD g96<4>.xD g83<4>.yyzzD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g95<4>.yD 0D { align16 1Q };
(+f0.0.x) sel(8) g97<1>.xUD g22<4>.yUD g22<4>.xUD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g95<4>.zD 0D { align16 1Q };
(+f0.0.x) sel(8) g98<1>.xUD g22<4>.zUD g97<4>.xUD { align16 1Q };
and(8) g101<1>.xUD g98<4>.xUD 0x000000ffUD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g96<4>.xD g78<4>.yD { align16 1Q };
(+f0.0.x) sel(8) g100<1>.xUD g84<4>.xUD g81<4>.xUD { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g80<4>.xD g101<4>.xD { align16 1Q compacted };
(+f0.0.x) if(8) JIP: 128 UIP: 160 { align16 1Q };
shr(8) g103<1>.xUD g98<4>.xUD 0x00000008UD { align16 1Q compacted };
mov(8) g32<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g32.2<1>UD 0x00400000UD { align1 WE_all 1N };
and(8) g104<1>.xUD g103<4>.xUD 0x000000ffUD { align16 1Q compacted };
shl(8) g105<1>.xD g104<4>.xD 0x00000004UD { align16 1Q };
add(8) g33<1>.xD g105<4>.xD 96D { align16 1Q compacted };
send(8) g109<1>F g32<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g7<1>.xUD g109<4>.xUD { align16 1Q compacted };
else(8) JIP: 48 UIP: 48 { align16 1Q };
shr(8) g110<1>.xUD g98<4>.xUD 0x00000008UD { align16 1Q compacted };
cmp.z.f0.0(8) null<1>.xD g86<4>.xD g101<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g7<1>.xUD g110<4>.xUD g100<4>.xUD { align16 1Q };
endif(8) JIP: 16 { align16 1Q };
shr(8) g6<1>.xUD g7<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g10<1>.xUD g7<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g13<1>.xUD g7<4>.xUD 0x000000ffUD { align16 1Q compacted };
shr(8) g17<1>.xUD g87<4>.wUD 0x00000008UD { align16 1Q };
mov(8) g34<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g34.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g35<1>.xUD 0x00000020UD { align16 1Q compacted };
and(8) g50<1>.xUD g4<4>.xUD 0x00000001UD { align16 1Q compacted };
and(8) g53<1>.xUD g4<4>.xUD 0x00000002UD { align16 1Q compacted };
mov(8) g36<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g36.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g37<1>.xUD 0x00000030UD { align16 1Q compacted };
and(8) g70<1>.xUD g22<4>.zUD 0x000000ffUD { align16 1Q };
and(8) g8<1>.xUD g6<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g11<1>.xUD g10<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g14<1>.xF g13<4>.xUD { align16 1Q compacted };
and(8) g18<1>.xUD g17<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g26<1>F g34<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g51<1>.xF g50<4>.xUD { align16 1Q compacted };
shr(8) g56<1>.xUD g53<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g61<1>F g36<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g80<4>.xD g70<4>.xD { align16 1Q compacted };
mov(8) g9<1>.xF g8<4>.xUD { align16 1Q compacted };
mov(8) g12<1>.xF g11<4>.xUD { align16 1Q compacted };
mov(8) g20<1>.xF g18<4>.xUD { align16 1Q compacted };
shr(8) g27<1>.xUD g26<4>.zUD 0x00000010UD { align16 1Q };
shr(8) g30<1>.xUD g26<4>.zUD 0x00000008UD { align16 1Q };
and(8) g33<1>.xUD g26<4>.zUD 0x000000ffUD { align16 1Q };
mov(8) g57<1>.xF g56<4>.xUD { align16 1Q compacted };
shr(8) g62<1>.xUD g61<4>.zUD 0x00000010UD { align16 1Q };
shr(8) g65<1>.xUD g61<4>.zUD 0x00000008UD { align16 1Q };
and(8) g68<1>.xUD g61<4>.zUD 0x000000ffUD { align16 1Q };
mul(8) g58<1>.xF g9<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
lrp(8) g23<1>.xF g20<4,4,1>.xF g1.1<0,1,0>F g88<4,4,1>.xF { align16 1Q };
and(8) g28<1>.xUD g27<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g31<1>.xUD g30<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g34<1>.xF g33<4>.xUD { align16 1Q compacted };
and(8) g63<1>.xUD g62<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g66<1>.xUD g65<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g69<1>.xF g68<4>.xUD { align16 1Q compacted };
mul(8) g58<1>.yF g12<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mul(8) g73<1>.yF g1<0>.xF g23<4>.xF { align16 1Q };
mov(8) g29<1>.xF g28<4>.xUD { align16 1Q compacted };
mov(8) g32<1>.xF g31<4>.xUD { align16 1Q compacted };
mov(8) g64<1>.xF g63<4>.xUD { align16 1Q compacted };
mov(8) g67<1>.xF g66<4>.xUD { align16 1Q compacted };
mul(8) g58<1>.zF g14<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g59<1>.xF g29<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g60<1>.xF g64<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g59<1>.yF g32<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mul(8) g60<1>.yF g67<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mul(8) g59<1>.zF g34<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g60<1>.zF g69<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
lrp(8) g52<1>.xyzF g51<4,4,1>.xF g59<4,4,1>.xyzzF g58<4,4,1>.xyzzF { align16 1Q };
(+f0.0.x) if(8) JIP: 136 UIP: 176 { align16 1Q };
shr(8) g72<1>.xUD g22<4>.zUD 0x00000008UD { align16 1Q };
mov(8) g38<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g38.2<1>UD 0x00400000UD { align1 WE_all 1N };
and(8) g78<1>.xUD g72<4>.xUD 0x000000ffUD { align16 1Q compacted };
shl(8) g80<1>.xD g78<4>.xD 0x00000004UD { align16 1Q };
add(8) g39<1>.xD g80<4>.xD 96D { align16 1Q compacted };
send(8) g84<1>F g38<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g8<1>.xUD g84<4>.xUD { align16 1Q compacted };
else(8) JIP: 56 UIP: 56 { align16 1Q };
shr(8) g89<1>.xUD g22<4>.zUD 0x00000008UD { align16 1Q };
cmp.z.f0.0(8) null<1>.xD g86<4>.xD g70<4>.xD { align16 1Q compacted };
(+f0.0.x) sel(8) g8<1>.xUD g89<4>.xUD g7<4>.xUD { align16 1Q };
endif(8) JIP: 16 { align16 1Q };
shr(8) g91<1>.xUD g8<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g95<1>.xUD g8<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g98<1>.xUD g8<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g40<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g40.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g41<1>.xUD 0x00000030UD { align16 1Q compacted };
mul(8) g105<1>.xyF g54<4>.zwwwF g85<4>.xF { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g77<4>.yD 0D { align16 1Q };
shr(8) g106<1>.xUD g87<4>.wUD 0x00000002UD { align16 1Q };
shr(8) g111<1>.xUD g87<4>.wUD 0x00000007UD { align16 1Q };
mov(8) g42<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g42.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g43<1>.xUD 0x00000030UD { align16 1Q compacted };
mov(8) g44<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g44.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g45<1>.xUD 0x00000030UD { align16 1Q compacted };
mov(8) g46<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g46.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g47<1>.xUD 0x00000010UD { align16 1Q compacted };
mov(8) g48<1>UD g0<4>UD { align16 WE_all 1Q };
mov(1) g48.2<1>UD 0x00400000UD { align1 WE_all 1N };
mov(8) g49<1>.xUD 0x00000020UD { align16 1Q compacted };
mov(8) g114<1>UD 0x00000000UD { align16 1Q compacted };
mov(8) g115<1>F g54<4>F { align16 1Q };
and(8) g93<1>.xUD g91<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g96<1>.xUD g95<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g99<1>.xF g98<4>.xUD { align16 1Q compacted };
send(8) g102<1>F g40<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
and(8) g107<1>.xUD g106<4>.xUD 0x00000003UD { align16 1Q compacted };
and(8) g6<1>.xUD g111<4>.xUD 0x00000001UD { align16 1Q compacted };
send(8) g12<1>F g42<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g26<1>F g44<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
send(8) g37<1>F g46<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mov(8) g94<1>.xF g93<4>.xUD { align16 1Q compacted };
mov(8) g97<1>.xF g96<4>.xUD { align16 1Q compacted };
mov(8) g103<1>.xF g102<4>.wUD { align16 1Q };
mov(8) g108<1>.xF g107<4>.xUD { align16 1Q compacted };
shl(8) g7<1>.xD g6<4>.xD 0x00000002UD { align16 1Q };
shr(8) g13<1>.xUD g12<4>.xUD 0x00000010UD { align16 1Q compacted };
shr(8) g17<1>.xUD g12<4>.xUD 0x00000008UD { align16 1Q compacted };
and(8) g22<1>.xUD g12<4>.xUD 0x000000ffUD { align16 1Q compacted };
mul(8) g42<1>.xD g15<4>.xD -g19<4>.xD { align16 1Q compacted };
shr(8) g27<1>.xUD g26<4>.yUD 0x00000010UD { align16 1Q };
shr(8) g30<1>.xUD g26<4>.yUD 0x00000008UD { align16 1Q };
and(8) g33<1>.xUD g26<4>.yUD 0x000000ffUD { align16 1Q };
send(8) g47<1>F g48<0>.xUD 0x04187000
sampler MsgDesc: ld SIMD4x2 Surface = 0 Sampler = 0 mlen 2 rlen 1 { align16 1Q };
mul(8) g61<1>.xF g94<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
add(8) g62<1>.yF g103<4>.xF 0x3f800000F /* 1F */ { align16 NoDDClr 1Q };
add(8) g64<1>.yF g108<4>.xF 0x3f800000F /* 1F */ { align16 NoDDClr 1Q };
mov(8) g8<1>.xF g7<4>.xUD { align16 1Q compacted };
and(8) g14<1>.xUD g13<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g18<1>.xUD g17<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g23<1>.xF g22<4>.xUD { align16 1Q compacted };
mov(8) g43<1>.xF g42<4>.xUD { align16 1Q compacted };
and(8) g28<1>.xUD g27<4>.xUD 0x000000ffUD { align16 1Q compacted };
and(8) g31<1>.xUD g30<4>.xUD 0x000000ffUD { align16 1Q compacted };
mov(8) g34<1>.xF g33<4>.xUD { align16 1Q compacted };
shr(8) g48<1>.xUD g47<4>.wUD 0x00000010UD { align16 1Q };
mul(8) g61<1>.yF g97<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr,NoDDChk 1Q };
mov(8) g62<1>.xD g103<4>.xD { align16 NoDDChk 1Q compacted };
mov(8) g64<1>.xD g108<4>.xD { align16 NoDDChk 1Q compacted };
add(8) g66<1>.yF g8<4>.xF 0x3f800000F /* 1F */ { align16 NoDDClr 1Q };
mov(8) g16<1>.xF g14<4>.xUD { align16 1Q compacted };
mov(8) g20<1>.xF g18<4>.xUD { align16 1Q compacted };
add(8) g69<1>.yF g43<4>.xF g88<4>.xF { align16 NoDDClr 1Q };
mov(8) g29<1>.xF g28<4>.xUD { align16 1Q compacted };
mov(8) g32<1>.xF g31<4>.xUD { align16 1Q compacted };
and(8) g49<1>.xUD g48<4>.xUD 0x000000ffUD { align16 1Q compacted };
mul(8) g61<1>.zF g99<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g104<1>.xyF g62<4>.xyyyF g74<4>.xF { align16 1Q };
mul(8) g109<1>.xyF g64<4>.xyyyF g74<4>.xF { align16 1Q };
mov(8) g66<1>.xD g8<4>.xD { align16 NoDDChk 1Q compacted };
mul(8) g67<1>.xF g16<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
mov(8) g69<1>.xD g43<4>.xD { align16 NoDDChk 1Q compacted };
mul(8) g68<1>.xF g29<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
mov(8) g50<1>.xF g49<4>.xUD { align16 1Q compacted };
lrp(8) g40<1>.xyzF g57<4,4,1>.xF g60<4,4,1>.xyzzF g61<4,4,1>.xyzzF { align16 1Q };
(+f0.0.x) sel(8) g63<1>.xUD g104<4>.yUD g104<4>.xUD { align16 1Q };
mul(8) g9<1>.xyF g66<4>.xyyyF g74<4>.xF { align16 1Q };
mul(8) g67<1>.yF g20<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g44<1>.xyF g69<4>.xyyyF g74<4>.xF { align16 1Q };
mul(8) g68<1>.yF g32<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mul(8) g70<1>.xF g50<4>.xF 0x3b808081F /* 0.00392157F */ { align16 1Q };
cmp.nz.f0.0(8) null<1>.yD g79<4>.yD 0D { align16 1Q };
mul(8) g67<1>.zF g23<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
mul(8) g68<1>.zF g34<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
(+f0.0.y) sel(8) g63<1>.yUD g105<4>.yUD g105<4>.xUD { align16 1Q };
mov(8) g67<1>.wD g88<4>.xD { align16 1Q compacted };
lrp(8) g38<1>.xyzF g37<4,4,1>.wF g55<4,4,1>.xyzzF g68<4,4,1>.xyzzF { align16 1Q };
mov(8) g63<1>.zD g92<4>.xD { align16 1Q };
cmp.nz.f0.0(8) null<1>.xD g77<4>.yD 0D { align16 1Q };
mov(8) g116<1>F g67<4>F { align16 1Q };
lrp(8) g39<1>.xyzF g21<4,4,1>.xF g38<4,4,1>.xyzzF g52<4,4,1>.xyzzF { align16 1Q };
lrp(8) g119<1>.xyzF g21<4,4,1>.xF g38<4,4,1>.xyzzF g40<4,4,1>.xyzzF { align16 1Q };
(+f0.0.x) sel(8) g65<1>.xUD g109<4>.yUD g109<4>.xUD { align16 1Q };
mov(8) g75<1>.xyD g39<4>.yzzzD { align16 1Q };
shr(8) g52<1>.xUD g47<4>.wUD 0x00000008UD { align16 1Q };
mov(8) g119<1>.wD g39<4>.xD { align16 1Q compacted };
mov(8) g65<1>.yzD g63<4>.yyzzD { align16 1Q };
cmp.nz.f0.0(8) null<1>.yD g77<4>.yD 0D { align16 1Q };
mov(8) g120<1>F g75<4>F { align16 1Q };
and(8) g53<1>.xUD g52<4>.xUD 0x000000ffUD { align16 1Q compacted };
lrp(8) g122<1>.xyzF g57<4,4,1>.xF g63<4,4,1>.xyzzF g65<4,4,1>.xyzzF { align16 1Q };
(+f0.0.y) sel(8) g76<1>.yUD g9<4>.yUD g9<4>.xUD { align16 1Q };
(+f0.0.y) sel(8) g72<1>.yUD g44<4>.yUD g44<4>.xUD { align16 1Q };
mov(8) g56<1>.xF g53<4>.xUD { align16 1Q compacted };
and(8) g57<1>.xUD g47<4>.wUD 0x000000ffUD { align16 1Q };
mov(8) g76<1>.zwD g63<4>.yyyzD { align16 1Q };
mul(8) g70<1>.yF g56<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDClr 1Q };
mov(8) g58<1>.xF g57<4>.xUD { align16 1Q compacted };
mov(8) g121<1>F g76<4>F { align16 1Q };
mul(8) g70<1>.zF g58<4>.xF 0x3b808081F /* 0.00392157F */ { align16 NoDDChk 1Q };
lrp(8) g59<1>.xyzF g51<4,4,1>.xF g70<4,4,1>.xyzzF g55<4,4,1>.xyzzF { align16 1Q };
lrp(8) g60<1>.xyzF g21<4,4,1>.xF g67<4,4,1>.xyzzF g59<4,4,1>.xyzzF { align16 1Q };
mov(8) g72<1>.xD g60<4>.zD { align16 NoDDClr 1Q };
mov(8) g73<1>.zwD g60<4>.xxxyD { align16 1Q };
mov(8) g72<1>.zwD g63<4>.yyyzD { align16 NoDDChk 1Q };
mov(8) g117<1>F g73<4>F { align16 1Q };
mov(8) g118<1>F g72<4>F { align16 1Q };
mov(8) g113<1>UD g0<4>UD { align16 WE_all 1Q };
or(1) g113.5<1>UD g0.5<0,1,0>UD 0x0000ff00UD { align1 WE_all 1N };
send(8) null<1>F g113<0>.xF 0x96088000
urb MsgDesc: 0 write HWord interleave mlen 11 rlen 0 { align16 1Q EOT };
The difference is in the one move and I cannot understand why it makes the difference.
Correct (note g77<1>.x
isn't used anywhere else):
cmp.z.f0.0(8) g77<1>.xD g74<4>.xD 1D { align16 1Q compacted };
...
mov(8) g77<1>.yD g77<4>.xD { align16 1Q };
Incorrect:
cmp.z.f0.0(8) g77<1>.yD g74<4>.xD 1D { align16 1Q }
Before MR:
cmp(8).z.f0.0 vgrf77.y:D, vgrf76.xxxx:D, vgrf27.xyyy:D
cmp(8).nz.f0.0 null.x:D, vgrf77.yyyy:D, 0D
turned into:
cmp(8).z.f0.0 vgrf327.x:D, vgrf76.xxxx:D, vgrf27.yyyy:D
mov(8) vgrf77.y:D, vgrf327.xxxx:D
After MR:
cmp(8).z.f0.0 vgrf77.y:D, vgrf76.xxxx:D, vgrf27.xyyy:D
cmp(8).nz.f0.0 null.x:D, vgrf77.yyyy:D, 0D
turned into:
cmp(8).z.f0.0 vgrf77.x:D, vgrf76.xxxx:D, vgrf27.yyyy:D
mov(8) vgrf77.y:D, vgrf77.xxxx:D
Fixes: 4cd1a0be ("i965/vec4: Propagate conditional modifiers
from more compares to other compares")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110201