Skip to content

i965/vec4: Do not use additional register during cmod propagation

Danylo Piliaiev requested to merge GL/mesa:fix/vec4-cmod-propagation into master

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 for g77

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 for g77

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

Merge request reports