###### after parse { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, R0.zF@R0.z, R0.wF@R0.w] ALU < [ MOV R2.x, R0.xF@R0.x MOV R2.y, R0.yF@R0.y ] > TEX < SAMPLE R2.x, R2.y, R2.z, R2.w, R2.x, R2.y, __, __ > ALU_PUSH_BEFORE < [ MOV R3.x, R2.x MOV R3.y, R2.y MOV R3.z, R2.z SETGT_DX10 R4.x, R2.w, 0|00000000 ] [ PRED_SETNE_INT R11.x, PR, EM, R4.x, 0|00000000 ] > region #0 depart region #0 after { if EM { depart region #0 after { JUMP @10 ALU_POP_AFTER < [ RECIP_IEEE R11.x, R2.w ] [ MOV R4.x, R11.x MOV __, R11.x MOV __, R11.x MOV __, R11.x ] [ MUL_IEEE R3.x, R2.x, R4.x MUL_IEEE R3.y, R2.y, R4.x MUL_IEEE R3.z, R2.z, R4.x ] > } end_depart } endif } end_depart ALU < [ ADD R4.x, C0.x, -1|3f800000 ] [ MUL_IEEE R4.x, R3.x, R4.x MUL_IEEE R4.y, R3.y, R4.x MUL_IEEE R4.z, R3.z, R4.x ] [ FLOOR R5.x, R4.z ADD R6.x, C0.x, -2|c0000000 ] [ MIN_DX10 R5.x, R5.x, R6.x ADD R6.y, R4.y, 0.51234|3f0328b7 ADD R6.x, R4.x, 0.51234|3f0328b7 ] [ RECIP_IEEE R11.x, C0.x ] [ MOV R7.x, R11.x MOV __, R11.x MOV __, R11.x MOV __, R11.x ] [ MUL_IEEE R4.x, R6.x, R7.x MUL_IEEE R4.y, R6.y, R7.x ] [ ADD R6.x, R4.y, R5.x RECIP_IEEE R11.x, C0.x ] [ MOV R7.x, R11.x MOV __, R11.x MOV __, R11.x MOV __, R11.x ] [ MUL_IEEE R6.x, R6.x, R7.x ] [ MOV R6.x, 0|00000000 MOV R4.y, R6.x RECIP_IEEE R11.x, C0.x ] [ MOV R7.x, R11.x MOV __, R11.x MOV __, R11.x MOV __, R11.x ] [ MOV R7.x, R4.x MOV R6.y, R7.x MOV R7.y, R4.y ] > TEX < SAMPLE R7.x, R7.y, R7.z, R7.w, R7.x, R7.y, __, __ > ALU < [ ADD R6.x, R4.x, R6.x ADD R6.y, R4.y, R6.y ] [ MOV R6.x, R6.x MOV R6.y, R6.y ] > TEX < SAMPLE R6.x, R6.y, R6.z, R6.w, R6.x, R6.y, __, __ > ALU < [ ADD R4.x, R4.z, -R5.x ] [ ADD R11.x, 1|3f800000, -R4.x ADD R11.y, 1|3f800000, -R4.x ADD R11.z, 1|3f800000, -R4.x ] [ MUL R11.x, R11.x, R7.x MUL R11.y, R11.y, R7.y MUL R11.z, R11.z, R7.z ] [ MULADD R4.x, R4.x, R6.x, R11.x MULADD R4.y, R4.x, R6.y, R11.y MULADD R4.z, R4.x, R6.z, R11.z ] [ MUL_IEEE R3.x, R4.x, R2.w MUL_IEEE R3.y, R4.y, R2.w MUL_IEEE R3.z, R4.z, R2.w MOV R2.w, 1|3f800000 ] [ MOV R2.x, R3.x MOV R2.y, R3.y MOV R2.z, R3.z ] [ MOV R1.x, R2.x MOV R1.y, R2.y MOV R1.z, R2.z MOV R1.w, R2.w ] > EXPORT PIXEL 0 R1.x, R1.y, R1.z, R1.w } ###### after ssa_rename { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, R0.zF@R0.z, R0.wF@R0.w] ALU < [ MOV R2.x.1, R0.xF@R0.x MOV R2.y.1, R0.yF@R0.y ] > TEX < SAMPLE R2.x.2, R2.y.2, R2.z.1, R2.w.1, R2.x.1, R2.y.1, __, __ > ALU_PUSH_BEFORE < [ MOV R3.x.1, R2.x.2 MOV R3.y.1, R2.y.2 MOV R3.z.1, R2.z.1 SETGT_DX10 R4.x.1, R2.w.1, 0|00000000 ] [ PRED_SETNE_INT R11.x.1, PR.1, EM.1, R4.x.1, 0|00000000 ] > region #0 depart region #0 after { if EM.1 { depart region #0 after { JUMP @10 ALU_POP_AFTER < [ RECIP_IEEE R11.x.2, R2.w.1 ] [ MOV R4.x.2, R11.x.2 MOV __, R11.x.2 MOV __, R11.x.2 MOV __, R11.x.2 ] [ MUL_IEEE R3.x.2, R2.x.2, R4.x.2 MUL_IEEE R3.y.2, R2.y.2, R4.x.2 MUL_IEEE R3.z.2, R2.z.1, R4.x.2 ] > } end_depart } endif } end_depart { * phi R3.x.3, R3.x.2, R3.x.1 * phi R3.y.3, R3.y.2, R3.y.1 * phi R3.z.3, R3.z.2, R3.z.1 * phi R4.x.3, R4.x.2, R4.x.1 * phi R11.x.3, R11.x.2, R11.x.1 } ALU < [ ADD R4.x.4, C0.x, -1|3f800000 ] [ MUL_IEEE R4.x.5, R3.x.3, R4.x.4 MUL_IEEE R4.y.1, R3.y.3, R4.x.4 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 ] [ FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 ] [ MIN_DX10 R5.x.2, R5.x.1, R6.x.1 ADD R6.y.1, R4.y.1, 0.51234|3f0328b7 ADD R6.x.2, R4.x.5, 0.51234|3f0328b7 ] [ RECIP_IEEE R11.x.4, C0.x ] [ MOV R7.x.1, R11.x.4 MOV __, R11.x.4 MOV __, R11.x.4 MOV __, R11.x.4 ] [ MUL_IEEE R4.x.6, R6.x.2, R7.x.1 MUL_IEEE R4.y.2, R6.y.1, R7.x.1 ] [ ADD R6.x.3, R4.y.2, R5.x.2 RECIP_IEEE R11.x.5, C0.x ] [ MOV R7.x.2, R11.x.5 MOV __, R11.x.5 MOV __, R11.x.5 MOV __, R11.x.5 ] [ MUL_IEEE R6.x.4, R6.x.3, R7.x.2 ] [ MOV R6.x.5, 0|00000000 MOV R4.y.3, R6.x.4 RECIP_IEEE R11.x.6, C0.x ] [ MOV R7.x.3, R11.x.6 MOV __, R11.x.6 MOV __, R11.x.6 MOV __, R11.x.6 ] [ MOV R7.x.4, R4.x.6 MOV R6.y.2, R7.x.3 MOV R7.y.1, R4.y.3 ] > TEX < SAMPLE R7.x.5, R7.y.2, R7.z.1, R7.w.1, R7.x.4, R7.y.1, __, __ > ALU < [ ADD R6.x.6, R4.x.6, R6.x.5 ADD R6.y.3, R4.y.3, R6.y.2 ] [ MOV R6.x.7, R6.x.6 MOV R6.y.4, R6.y.3 ] > TEX < SAMPLE R6.x.8, R6.y.5, R6.z.1, R6.w.1, R6.x.7, R6.y.4, __, __ > ALU < [ ADD R4.x.7, R4.z.1, -R5.x.2 ] [ ADD R11.x.7, 1|3f800000, -R4.x.7 ADD R11.y.1, 1|3f800000, -R4.x.7 ADD R11.z.1, 1|3f800000, -R4.x.7 ] [ MUL R11.x.8, R11.x.7, R7.x.5 MUL R11.y.2, R11.y.1, R7.y.2 MUL R11.z.2, R11.z.1, R7.z.1 ] [ MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 ] [ MUL_IEEE R3.x.4, R4.x.8, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 MOV R2.w.2, 1|3f800000 ] [ MOV R2.x.3, R3.x.4 MOV R2.y.3, R3.y.4 MOV R2.z.2, R3.z.4 ] [ MOV R1.x.1, R2.x.3 MOV R1.y.1, R2.y.3 MOV R1.z.1, R2.z.2 MOV R1.w.1, R2.w.2 ] > EXPORT PIXEL 0 R1.x.1, R1.y.1, R1.z.1, R1.w.1 } ###### after if_conversion { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, __, __] MOV R2.x.1, R0.xF@R0.x MOV R2.y.1, R0.yF@R0.y SAMPLE R2.x.2, R2.y.2, R2.z.1, R2.w.1, R2.x.1, R2.y.1, __, __ MOV R3.x.1, R2.x.2 MOV R3.y.1, R2.y.2 MOV R3.z.1, R2.z.1 SETGT_DX10 R4.x.1, R2.w.1, 0|00000000 PRED_SETNE_INT __, __, EM.1, R4.x.1, 0|00000000 SETE_INT t1, R4.x.1, 0|00000000 RECIP_IEEE R11.x.2, R2.w.1 MOV R4.x.2, R11.x.2 MUL_IEEE R3.x.2, R2.x.2, R4.x.2 MUL_IEEE R3.y.2, R2.y.2, R4.x.2 MUL_IEEE R3.z.2, R2.z.1, R4.x.2 CNDE_INT R3.z.3, t1, R3.z.2, R3.z.1 CNDE_INT R3.y.3, t1, R3.y.2, R3.y.1 CNDE_INT R3.x.3, t1, R3.x.2, R3.x.1 ADD R4.x.4, C0.x, -1|3f800000 MUL_IEEE R4.x.5, R3.x.3, R4.x.4 MUL_IEEE R4.y.1, R3.y.3, R4.x.4 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 MIN_DX10 R5.x.2, R5.x.1, R6.x.1 ADD R6.y.1, R4.y.1, 0.51234|3f0328b7 ADD R6.x.2, R4.x.5, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MOV R7.x.1, R11.x.4 MUL_IEEE R4.x.6, R6.x.2, R7.x.1 MUL_IEEE R4.y.2, R6.y.1, R7.x.1 ADD R6.x.3, R4.y.2, R5.x.2 RECIP_IEEE R11.x.5, C0.x MOV R7.x.2, R11.x.5 MUL_IEEE R6.x.4, R6.x.3, R7.x.2 MOV R6.x.5, 0|00000000 MOV R4.y.3, R6.x.4 RECIP_IEEE R11.x.6, C0.x MOV R7.x.3, R11.x.6 MOV R7.x.4, R4.x.6 MOV R6.y.2, R7.x.3 MOV R7.y.1, R4.y.3 SAMPLE R7.x.5, R7.y.2, R7.z.1, __, R7.x.4, R7.y.1, __, __ ADD R6.x.6, R4.x.6, R6.x.5 ADD R6.y.3, R4.y.3, R6.y.2 MOV R6.x.7, R6.x.6 MOV R6.y.4, R6.y.3 SAMPLE R6.x.8, R6.y.5, R6.z.1, __, R6.x.7, R6.y.4, __, __ ADD R4.x.7, R4.z.1, -R5.x.2 ADD R11.x.7, 1|3f800000, -R4.x.7 ADD R11.y.1, 1|3f800000, -R4.x.7 ADD R11.z.1, 1|3f800000, -R4.x.7 MUL R11.x.8, R11.x.7, R7.x.5 MUL R11.y.2, R11.y.1, R7.y.2 MUL R11.z.2, R11.z.1, R7.z.1 MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 MUL_IEEE R3.x.4, R4.x.8, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 MOV R2.w.2, 1|3f800000 MOV R2.x.3, R3.x.4 MOV R2.y.3, R3.y.4 MOV R2.z.2, R3.z.4 MOV R1.x.1, R2.x.3 MOV R1.y.1, R2.y.3 MOV R1.z.1, R2.z.2 MOV R1.w.1, R2.w.2 EXPORT PIXEL 0 R1.x.1, R1.y.1, R1.z.1, R1.w.1 } ###### after peephole { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, __, __] MOV R2.x.1, R0.xF@R0.x MOV R2.y.1, R0.yF@R0.y SAMPLE R2.x.2, R2.y.2, R2.z.1, R2.w.1, R2.x.1, R2.y.1, __, __ MOV R3.x.1, R2.x.2 MOV R3.y.1, R2.y.2 MOV R3.z.1, R2.z.1 SETGT_DX10 R4.x.1, R2.w.1, 0|00000000 PRED_SETGT __, __, EM.1, R2.w.1, 0|00000000 SETGE_DX10 t1, 0|00000000, R2.w.1 RECIP_IEEE R11.x.2, R2.w.1 MOV R4.x.2, R11.x.2 MUL_IEEE R3.x.2, R2.x.2, R4.x.2 MUL_IEEE R3.y.2, R2.y.2, R4.x.2 MUL_IEEE R3.z.2, R2.z.1, R4.x.2 CNDGT R3.z.3, R2.w.1, R3.z.2, R3.z.1 CNDGT R3.y.3, R2.w.1, R3.y.2, R3.y.1 CNDGT R3.x.3, R2.w.1, R3.x.2, R3.x.1 ADD R4.x.4, C0.x, -1|3f800000 MUL_IEEE R4.x.5, R3.x.3, R4.x.4 MUL_IEEE R4.y.1, R3.y.3, R4.x.4 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 MIN_DX10 R5.x.2, R5.x.1, R6.x.1 ADD R6.y.1, R4.y.1, 0.51234|3f0328b7 ADD R6.x.2, R4.x.5, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MOV R7.x.1, R11.x.4 MUL_IEEE R4.x.6, R6.x.2, R7.x.1 MUL_IEEE R4.y.2, R6.y.1, R7.x.1 ADD R6.x.3, R4.y.2, R5.x.2 RECIP_IEEE R11.x.5, C0.x MOV R7.x.2, R11.x.5 MUL_IEEE R6.x.4, R6.x.3, R7.x.2 MOV R6.x.5, 0|00000000 MOV R4.y.3, R6.x.4 RECIP_IEEE R11.x.6, C0.x MOV R7.x.3, R11.x.6 MOV R7.x.4, R4.x.6 MOV R6.y.2, R7.x.3 MOV R7.y.1, R4.y.3 SAMPLE R7.x.5, R7.y.2, R7.z.1, __, R7.x.4, R7.y.1, __, __ ADD R6.x.6, R4.x.6, R6.x.5 ADD R6.y.3, R4.y.3, R6.y.2 MOV R6.x.7, R6.x.6 MOV R6.y.4, R6.y.3 SAMPLE R6.x.8, R6.y.5, R6.z.1, __, R6.x.7, R6.y.4, __, __ ADD R4.x.7, R4.z.1, -R5.x.2 ADD R11.x.7, 1|3f800000, -R4.x.7 ADD R11.y.1, 1|3f800000, -R4.x.7 ADD R11.z.1, 1|3f800000, -R4.x.7 MUL R11.x.8, R11.x.7, R7.x.5 MUL R11.y.2, R11.y.1, R7.y.2 MUL R11.z.2, R11.z.1, R7.z.1 MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 MUL_IEEE R3.x.4, R4.x.8, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 MOV R2.w.2, 1|3f800000 MOV R2.x.3, R3.x.4 MOV R2.y.3, R3.y.4 MOV R2.z.2, R3.z.4 MOV R1.x.1, R2.x.3 MOV R1.y.1, R2.y.3 MOV R1.z.1, R2.z.2 MOV R1.w.1, R2.w.2 EXPORT PIXEL 0 R1.x.1, R1.y.1, R1.z.1, R1.w.1 } ###### after gvn { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, __, __] MOV R2.x.1, R0.xF@R0.x MOV R2.y.1, R0.yF@R0.y SAMPLE R2.x.2, R2.y.2, R2.z.1, R2.w.1, R0.xF@R0.x, R0.yF@R0.y, __, __ MOV R3.x.1, R2.x.2 MOV R3.y.1, R2.y.2 MOV R3.z.1, R2.z.1 SETGT_DX10 R4.x.1, R2.w.1, 0|00000000 PRED_SETGT __, __, EM.1, R2.w.1, 0|00000000 SETGE_DX10 t1, 0|00000000, R2.w.1 RECIP_IEEE R11.x.2, R2.w.1 MOV R4.x.2, R11.x.2 MUL_IEEE R3.x.2, R2.x.2, R11.x.2 MUL_IEEE R3.y.2, R2.y.2, R11.x.2 MUL_IEEE R3.z.2, R2.z.1, R11.x.2 CNDGT R3.z.3, R2.w.1, R3.z.2, R2.z.1 CNDGT R3.y.3, R2.w.1, R3.y.2, R2.y.2 CNDGT R3.x.3, R2.w.1, R3.x.2, R2.x.2 ADD R4.x.4, C0.x, -1|bf800000 MUL_IEEE R4.x.5, R3.x.3, R4.x.4 MUL_IEEE R4.y.1, R3.y.3, R4.x.4 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 MIN_DX10 R5.x.2, R5.x.1, R6.x.1 MULADD_IEEE R6.y.1, R3.y.3, R4.x.4, 0.51234|3f0328b7 MULADD_IEEE R6.x.2, R3.x.3, R4.x.4, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MOV R7.x.1, R11.x.4 MUL_IEEE R4.x.6, R6.x.2, R11.x.4 MUL_IEEE R4.y.2, R6.y.1, R11.x.4 MULADD_IEEE R6.x.3, R6.y.1, R11.x.4, R5.x.2 RECIP_IEEE R11.x.5, C0.x MOV R7.x.2, R11.x.4 MUL_IEEE R6.x.4, R6.x.3, R11.x.4 MOV R6.x.5, 0|00000000 MOV R4.y.3, R6.x.4 RECIP_IEEE R11.x.6, C0.x MOV R7.x.3, R11.x.4 MOV R7.x.4, R4.x.6 MOV R6.y.2, R11.x.4 MOV R7.y.1, R6.x.4 SAMPLE R7.x.5, R7.y.2, R7.z.1, __, R4.x.6, R6.x.4, __, __ MULADD_IEEE R6.x.6, R6.x.2, R11.x.4, 0|00000000 MULADD_IEEE R6.y.3, R6.x.3, R11.x.4, R11.x.4 MOV R6.x.7, R6.x.6 MOV R6.y.4, R6.y.3 SAMPLE R6.x.8, R6.y.5, R6.z.1, __, R6.x.6, R6.y.3, __, __ MULADD_IEEE R4.x.7, R3.z.3, R4.x.4, -R5.x.2 ADD R11.x.7, -R4.x.7, 1|3f800000 ADD R11.y.1, -R4.x.7, 1|3f800000 ADD R11.z.1, -R4.x.7, 1|3f800000 MUL R11.x.8, R11.x.7, R7.x.5 MUL R11.y.2, R11.x.7, R7.y.2 MUL R11.z.2, R11.x.7, R7.z.1 MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 MUL_IEEE R3.x.4, R4.x.8, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 MOV R2.w.2, 1|3f800000 MOV R2.x.3, R3.x.4 MOV R2.y.3, R3.y.4 MOV R2.z.2, R3.z.4 MOV R1.x.1, R3.x.4 MOV R1.y.1, R3.y.4 MOV R1.z.1, R3.z.4 MOV R1.w.1, 1|3f800000 EXPORT PIXEL 0 R3.x.4, R3.y.4, R3.z.4, 1|3f800000 } ###### after def_use { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, __, __] MOV R2.x.1, R0.xF@R0.x MOV R2.y.1, R0.yF@R0.y SAMPLE R2.x.2, R2.y.2, R2.z.1, R2.w.1, R0.xF@R0.x, R0.yF@R0.y, __, __ MOV R3.x.1, R2.x.2 MOV R3.y.1, R2.y.2 MOV R3.z.1, R2.z.1 SETGT_DX10 R4.x.1, R2.w.1, 0|00000000 PRED_SETGT __, __, EM.1, R2.w.1, 0|00000000 SETGE_DX10 t1, 0|00000000, R2.w.1 RECIP_IEEE R11.x.2, R2.w.1 MOV R4.x.2, R11.x.2 MUL_IEEE R3.x.2, R2.x.2, R11.x.2 MUL_IEEE R3.y.2, R2.y.2, R11.x.2 MUL_IEEE R3.z.2, R2.z.1, R11.x.2 CNDGT R3.z.3, R2.w.1, R3.z.2, R2.z.1 CNDGT R3.y.3, R2.w.1, R3.y.2, R2.y.2 CNDGT R3.x.3, R2.w.1, R3.x.2, R2.x.2 ADD R4.x.4, C0.x, -1|bf800000 MUL_IEEE R4.x.5, R3.x.3, R4.x.4 MUL_IEEE R4.y.1, R3.y.3, R4.x.4 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 MIN_DX10 R5.x.2, R5.x.1, R6.x.1 MULADD_IEEE R6.y.1, R3.y.3, R4.x.4, 0.51234|3f0328b7 MULADD_IEEE R6.x.2, R3.x.3, R4.x.4, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MOV R7.x.1, R11.x.4 MUL_IEEE R4.x.6, R6.x.2, R11.x.4 MUL_IEEE R4.y.2, R6.y.1, R11.x.4 MULADD_IEEE R6.x.3, R6.y.1, R11.x.4, R5.x.2 RECIP_IEEE R11.x.5, C0.x MOV R7.x.2, R11.x.4 MUL_IEEE R6.x.4, R6.x.3, R11.x.4 MOV R6.x.5, 0|00000000 MOV R4.y.3, R6.x.4 RECIP_IEEE R11.x.6, C0.x MOV R7.x.3, R11.x.4 MOV R7.x.4, R4.x.6 MOV R6.y.2, R11.x.4 MOV R7.y.1, R6.x.4 SAMPLE R7.x.5, R7.y.2, R7.z.1, __, R4.x.6, R6.x.4, __, __ MULADD_IEEE R6.x.6, R6.x.2, R11.x.4, 0|00000000 MULADD_IEEE R6.y.3, R6.x.3, R11.x.4, R11.x.4 MOV R6.x.7, R6.x.6 MOV R6.y.4, R6.y.3 SAMPLE R6.x.8, R6.y.5, R6.z.1, __, R6.x.6, R6.y.3, __, __ MULADD_IEEE R4.x.7, R3.z.3, R4.x.4, -R5.x.2 ADD R11.x.7, -R4.x.7, 1|3f800000 ADD R11.y.1, -R4.x.7, 1|3f800000 ADD R11.z.1, -R4.x.7, 1|3f800000 MUL R11.x.8, R11.x.7, R7.x.5 MUL R11.y.2, R11.x.7, R7.y.2 MUL R11.z.2, R11.x.7, R7.z.1 MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 MUL_IEEE R3.x.4, R4.x.8, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 MOV R2.w.2, 1|3f800000 MOV R2.x.3, R3.x.4 MOV R2.y.3, R3.y.4 MOV R2.z.2, R3.z.4 MOV R1.x.1, R3.x.4 MOV R1.y.1, R3.y.4 MOV R1.z.1, R3.z.4 MOV R1.w.1, 1|3f800000 EXPORT PIXEL 0 R3.x.4, R3.y.4, R3.z.4, 1|3f800000 } ###### after dce_cleanup { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, __, __] SAMPLE R2.x.2, R2.y.2, R2.z.1, R2.w.1, R0.xF@R0.x, R0.yF@R0.y, __, __ RECIP_IEEE R11.x.2, R2.w.1 MUL_IEEE R3.x.2, R2.x.2, R11.x.2 MUL_IEEE R3.y.2, R2.y.2, R11.x.2 MUL_IEEE R3.z.2, R2.z.1, R11.x.2 CNDGT R3.z.3, R2.w.1, R3.z.2, R2.z.1 CNDGT R3.y.3, R2.w.1, R3.y.2, R2.y.2 CNDGT R3.x.3, R2.w.1, R3.x.2, R2.x.2 ADD R4.x.4, C0.x, -1|bf800000 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 MIN_DX10 R5.x.2, R5.x.1, R6.x.1 MULADD_IEEE R6.y.1, R3.y.3, R4.x.4, 0.51234|3f0328b7 MULADD_IEEE R6.x.2, R3.x.3, R4.x.4, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MUL_IEEE R4.x.6, R6.x.2, R11.x.4 MULADD_IEEE R6.x.3, R6.y.1, R11.x.4, R5.x.2 MUL_IEEE R6.x.4, R6.x.3, R11.x.4 SAMPLE R7.x.5, R7.y.2, R7.z.1, __, R4.x.6, R6.x.4, __, __ MULADD_IEEE R6.x.6, R6.x.2, R11.x.4, 0|00000000 MULADD_IEEE R6.y.3, R6.x.3, R11.x.4, R11.x.4 SAMPLE R6.x.8, R6.y.5, R6.z.1, __, R6.x.6, R6.y.3, __, __ MULADD_IEEE R4.x.7, R3.z.3, R4.x.4, -R5.x.2 ADD R11.x.7, -R4.x.7, 1|3f800000 MUL R11.x.8, R11.x.7, R7.x.5 MUL R11.y.2, R11.x.7, R7.y.2 MUL R11.z.2, R11.x.7, R7.z.1 MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 MUL_IEEE R3.x.4, R4.x.8, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 EXPORT PIXEL 0 R3.x.4, R3.y.4, R3.z.4, 1|3f800000 } ###### after gcm { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, __, __] { BB_0 loop_level = 0 ALU < (copy) MOV t16, R0.yF@R0.y (copy) MOV t15, R0.xF@R0.x > TEX < SAMPLE t17, t18, t19, t20, t15, t16, __, __ > ALU < (copy) MOV R2.w.1, t20 RECIP_IEEE R11.x.2, R2.w.1 (copy) MOV R2.z.1, t19 MUL_IEEE R3.z.2, R2.z.1, R11.x.2 CNDGT R3.z.3, R2.w.1, R3.z.2, R2.z.1 ADD R4.x.4, C0.x, -1|bf800000 (copy) MOV R2.y.2, t18 MUL_IEEE R3.y.2, R2.y.2, R11.x.2 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 CNDGT R3.y.3, R2.w.1, R3.y.2, R2.y.2 FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 (copy) MOV R2.x.2, t17 MUL_IEEE R3.x.2, R2.x.2, R11.x.2 MULADD_IEEE R6.y.1, R3.y.3, R4.x.4, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MIN_DX10 R5.x.2, R5.x.1, R6.x.1 CNDGT R3.x.3, R2.w.1, R3.x.2, R2.x.2 MULADD_IEEE R6.x.3, R6.y.1, R11.x.4, R5.x.2 MULADD_IEEE R6.x.2, R3.x.3, R4.x.4, 0.51234|3f0328b7 MULADD_IEEE R6.y.3, R6.x.3, R11.x.4, R11.x.4 MULADD_IEEE R6.x.6, R6.x.2, R11.x.4, 0|00000000 MUL_IEEE R6.x.4, R6.x.3, R11.x.4 MUL_IEEE R4.x.6, R6.x.2, R11.x.4 (copy) MOV t6, R6.y.3 (copy) MOV t5, R6.x.6 (copy) MOV t11, R6.x.4 (copy) MOV t10, R4.x.6 > TEX < SAMPLE t12, t13, t14, __, t10, t11, __, __ SAMPLE t7, t8, t9, __, t5, t6, __, __ > ALU < MULADD_IEEE R4.x.7, R3.z.3, R4.x.4, -R5.x.2 ADD R11.x.7, -R4.x.7, 1|3f800000 (copy) MOV R7.z.1, t14 MUL R11.z.2, R11.x.7, R7.z.1 (copy) MOV R7.y.2, t13 MUL R11.y.2, R11.x.7, R7.y.2 (copy) MOV R7.x.5, t12 MUL R11.x.8, R11.x.7, R7.x.5 (copy) MOV R6.z.1, t9 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 (copy) MOV R6.y.5, t8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 (copy) MOV R6.x.8, t7 MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.x.4, R4.x.8, R2.w.1 (copy) MOV t4, R3.z.4 (copy) MOV t3, R3.y.4 (copy) MOV t2, R3.x.4 > EXPORT PIXEL 0 t2, t3, t4, 1|3f800000 } end BB_0 } ###### after dce_cleanup { preloaded inputs [R0.xF@R0.x, R0.yF@R0.y, __, __] { BB_0 loop_level = 0 live_before: [R0.xF@R0.x R0.yF@R0.y ] ALU < live_before: [R0.xF@R0.x R0.yF@R0.y ] (copy) MOV t16, R0.yF@R0.y (copy) MOV t15, R0.xF@R0.x > live_after: [t15 t16 ] TEX < live_before: [t15 t16 ] SAMPLE t17, t18, t19, t20, t15, t16, __, __ > live_after: [t17 t18 t19 t20 ] ALU < live_before: [t17 t18 t19 t20 ] (copy) MOV R2.w.1, t20 RECIP_IEEE R11.x.2, R2.w.1 (copy) MOV R2.z.1, t19 MUL_IEEE R3.z.2, R2.z.1, R11.x.2 CNDGT R3.z.3, R2.w.1, R3.z.2, R2.z.1 ADD R4.x.4, C0.x, -1|bf800000 (copy) MOV R2.y.2, t18 MUL_IEEE R3.y.2, R2.y.2, R11.x.2 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 CNDGT R3.y.3, R2.w.1, R3.y.2, R2.y.2 FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 (copy) MOV R2.x.2, t17 MUL_IEEE R3.x.2, R2.x.2, R11.x.2 MULADD_IEEE R6.y.1, R3.y.3, R4.x.4, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MIN_DX10 R5.x.2, R5.x.1, R6.x.1 CNDGT R3.x.3, R2.w.1, R3.x.2, R2.x.2 MULADD_IEEE R6.x.3, R6.y.1, R11.x.4, R5.x.2 MULADD_IEEE R6.x.2, R3.x.3, R4.x.4, 0.51234|3f0328b7 MULADD_IEEE R6.y.3, R6.x.3, R11.x.4, R11.x.4 MULADD_IEEE R6.x.6, R6.x.2, R11.x.4, 0|00000000 MUL_IEEE R6.x.4, R6.x.3, R11.x.4 MUL_IEEE R4.x.6, R6.x.2, R11.x.4 (copy) MOV t6, R6.y.3 (copy) MOV t5, R6.x.6 (copy) MOV t11, R6.x.4 (copy) MOV t10, R4.x.6 > live_after: [R2.w.1 R3.z.3 R4.x.4 R5.x.2 t5 t6 t10 t11 ] TEX < live_before: [R2.w.1 R3.z.3 R4.x.4 R5.x.2 t5 t6 t10 t11 ] SAMPLE t12, t13, t14, __, t10, t11, __, __ SAMPLE t7, t8, t9, __, t5, t6, __, __ > live_after: [R2.w.1 R3.z.3 R4.x.4 R5.x.2 t7 t8 t9 t12 t13 t14 ] ALU < live_before: [R2.w.1 R3.z.3 R4.x.4 R5.x.2 t7 t8 t9 t12 t13 t14 ] MULADD_IEEE R4.x.7, R3.z.3, R4.x.4, -R5.x.2 ADD R11.x.7, -R4.x.7, 1|3f800000 (copy) MOV R7.z.1, t14 MUL R11.z.2, R11.x.7, R7.z.1 (copy) MOV R7.y.2, t13 MUL R11.y.2, R11.x.7, R7.y.2 (copy) MOV R7.x.5, t12 MUL R11.x.8, R11.x.7, R7.x.5 (copy) MOV R6.z.1, t9 MULADD R4.z.2, R4.x.7, R6.z.1, R11.z.2 (copy) MOV R6.y.5, t8 MULADD R4.y.4, R4.x.7, R6.y.5, R11.y.2 (copy) MOV R6.x.8, t7 MULADD R4.x.8, R4.x.7, R6.x.8, R11.x.8 MUL_IEEE R3.z.4, R4.z.2, R2.w.1 MUL_IEEE R3.y.4, R4.y.4, R2.w.1 MUL_IEEE R3.x.4, R4.x.8, R2.w.1 (copy) MOV t4, R3.z.4 (copy) MOV t3, R3.y.4 (copy) MOV t2, R3.x.4 > live_after: [t2 t3 t4 ] EXPORT PIXEL 0 t2, t3, t4, 1|3f800000 } end BB_0 } ###### after ra_coalesce { preloaded inputs [R0.xFP@R0.x, R0.yFP@R0.y, __, __] { BB_0 loop_level = 0 live_before: [R0.xFP@R0.x R0.yFP@R0.y ] ALU < live_before: [R0.xFP@R0.x R0.yFP@R0.y ] (copy) MOV t16FP@R0.y, R0.yFP@R0.y (copy) MOV t15FP@R0.x, R0.xFP@R0.x > live_after: [t15FP@R0.x t16FP@R0.y ] TEX < live_before: [t15FP@R0.x t16FP@R0.y ] SAMPLE t17FP@R0.x, t18FP@R0.y, t19FP@R0.z, t20FP@R0.w, t15FP@R0.x, t16FP@R0.y, __, __ > live_after: [t17FP@R0.x t18FP@R0.y t19FP@R0.z t20FP@R0.w ] ALU < live_before: [t17FP@R0.x t18FP@R0.y t19FP@R0.z t20FP@R0.w ] (copy) MOV R2.w.1FP@R0.w, t20FP@R0.w RECIP_IEEE R11.x.2, R2.w.1FP@R0.w (copy) MOV R2.z.1FP@R0.z, t19FP@R0.z MUL_IEEE R3.z.2, R2.z.1FP@R0.z, R11.x.2 CNDGT R3.z.3, R2.w.1FP@R0.w, R3.z.2, R2.z.1FP@R0.z ADD R4.x.4, C0.x, -1|bf800000 (copy) MOV R2.y.2FP@R0.y, t18FP@R0.y MUL_IEEE R3.y.2, R2.y.2FP@R0.y, R11.x.2 MUL_IEEE R4.z.1, R3.z.3, R4.x.4 CNDGT R3.y.3, R2.w.1FP@R0.w, R3.y.2, R2.y.2FP@R0.y FLOOR R5.x.1, R4.z.1 ADD R6.x.1, C0.x, -2|c0000000 (copy) MOV R2.x.2FP@R0.x, t17FP@R0.x MUL_IEEE R3.x.2, R2.x.2FP@R0.x, R11.x.2 MULADD_IEEE R6.y.1, R3.y.3, R4.x.4, 0.51234|3f0328b7 RECIP_IEEE R11.x.4, C0.x MIN_DX10 R5.x.2, R5.x.1, R6.x.1 CNDGT R3.x.3, R2.w.1FP@R0.w, R3.x.2, R2.x.2FP@R0.x MULADD_IEEE R6.x.3, R6.y.1, R11.x.4, R5.x.2 MULADD_IEEE R6.x.2, R3.x.3, R4.x.4, 0.51234|3f0328b7 MULADD_IEEE R6.y.3FP@R0.y, R6.x.3, R11.x.4, R11.x.4 MULADD_IEEE R6.x.6FP@R0.x, R6.x.2, R11.x.4, 0|00000000 MUL_IEEE R6.x.4FP@R1.y, R6.x.3, R11.x.4 MUL_IEEE R4.x.6FP@R1.x, R6.x.2, R11.x.4 (copy) MOV t6FP@R0.y, R6.y.3FP@R0.y (copy) MOV t5FP@R0.x, R6.x.6FP@R0.x (copy) MOV t11FP@R1.y, R6.x.4FP@R1.y (copy) MOV t10FP@R1.x, R4.x.6FP@R1.x > live_after: [R2.w.1FP@R0.w R3.z.3 R4.x.4 R5.x.2 t5FP@R0.x t6FP@R0.y t10FP@R1.x t11FP@R1.y ] TEX < live_before: [R2.w.1FP@R0.w R3.z.3 R4.x.4 R5.x.2 t5FP@R0.x t6FP@R0.y t10FP@R1.x t11FP@R1.y ] SAMPLE t12FP@R1.x, t13FP@R1.y, t14FP@R1.z, __, t10FP@R1.x, t11FP@R1.y, __, __ SAMPLE t7FP@R0.x, t8FP@R0.y, t9FP@R0.z, __, t5FP@R0.x, t6FP@R0.y, __, __ > live_after: [R2.w.1FP@R0.w R3.z.3 R4.x.4 R5.x.2 t7FP@R0.x t8FP@R0.y t9FP@R0.z t12FP@R1.x t13FP@R1.y t14FP@R1.z ] ALU < live_before: [R2.w.1FP@R0.w R3.z.3 R4.x.4 R5.x.2 t7FP@R0.x t8FP@R0.y t9FP@R0.z t12FP@R1.x t13FP@R1.y t14FP@R1.z ] MULADD_IEEE R4.x.7, R3.z.3, R4.x.4, -R5.x.2 ADD R11.x.7, -R4.x.7, 1|3f800000 (copy) MOV R7.z.1FP@R1.z, t14FP@R1.z MUL R11.z.2, R11.x.7, R7.z.1FP@R1.z (copy) MOV R7.y.2FP@R1.y, t13FP@R1.y MUL R11.y.2, R11.x.7, R7.y.2FP@R1.y (copy) MOV R7.x.5FP@R1.x, t12FP@R1.x MUL R11.x.8, R11.x.7, R7.x.5FP@R1.x (copy) MOV R6.z.1FP@R0.z, t9FP@R0.z MULADD R4.z.2, R4.x.7, R6.z.1FP@R0.z, R11.z.2 (copy) MOV R6.y.5FP@R0.y, t8FP@R0.y MULADD R4.y.4, R4.x.7, R6.y.5FP@R0.y, R11.y.2 (copy) MOV R6.x.8FP@R0.x, t7FP@R0.x MULADD R4.x.8, R4.x.7, R6.x.8FP@R0.x, R11.x.8 MUL_IEEE R3.z.4FP@R0.z, R4.z.2, R2.w.1FP@R0.w MUL_IEEE R3.y.4FP@R0.y, R4.y.4, R2.w.1FP@R0.w MUL_IEEE R3.x.4FP@R0.x, R4.x.8, R2.w.1FP@R0.w (copy) MOV t4FP@R0.z, R3.z.4FP@R0.z (copy) MOV t3FP@R0.y, R3.y.4FP@R0.y (copy) MOV t2FP@R0.x, R3.x.4FP@R0.x > live_after: [t2FP@R0.x t3FP@R0.y t4FP@R0.z ] EXPORT PIXEL 0 t2FP@R0.x, t3FP@R0.y, t4FP@R0.z, 1|3f800000 } end BB_0 } ###### after ra_init { preloaded inputs [R0.xFP@R0.x, R0.yFP@R0.y, __, __] { BB_0 loop_level = 0 live_before: [R0.xFP@R0.x R0.yFP@R0.y ] ALU < live_before: [R0.xFP@R0.x R0.yFP@R0.y ] (copy) MOV t16FP@R0.y, R0.yFP@R0.y (copy) MOV t15FP@R0.x, R0.xFP@R0.x > live_after: [t15FP@R0.x t16FP@R0.y ] TEX < live_before: [t15FP@R0.x t16FP@R0.y ] SAMPLE t17FP@R0.x, t18FP@R0.y, t19FP@R0.z, t20FP@R0.w, t15FP@R0.x, t16FP@R0.y, __, __ > live_after: [t17FP@R0.x t18FP@R0.y t19FP@R0.z t20FP@R0.w ] ALU < live_before: [t17FP@R0.x t18FP@R0.y t19FP@R0.z t20FP@R0.w ] (copy) MOV R2.w.1FP@R0.w, t20FP@R0.w RECIP_IEEE R11.x.2@R1.x, R2.w.1FP@R0.w (copy) MOV R2.z.1FP@R0.z, t19FP@R0.z MUL_IEEE R3.z.2@R1.y, R2.z.1FP@R0.z, R11.x.2@R1.x CNDGT R3.z.3@R1.w, R2.w.1FP@R0.w, R3.z.2@R1.y, R2.z.1FP@R0.z ADD R4.x.4@R2.x, C0.x, -1|bf800000 (copy) MOV R2.y.2FP@R0.y, t18FP@R0.y MUL_IEEE R3.y.2@R0.z, R2.y.2FP@R0.y, R11.x.2@R1.x MUL_IEEE R4.z.1@R1.y, R3.z.3@R1.w, R4.x.4@R2.x CNDGT R3.y.3@R0.y, R2.w.1FP@R0.w, R3.y.2@R0.z, R2.y.2FP@R0.y FLOOR R5.x.1@R0.z, R4.z.1@R1.y ADD R6.x.1@R1.y, C0.x, -2|c0000000 (copy) MOV R2.x.2FP@R0.x, t17FP@R0.x MUL_IEEE R3.x.2@R1.x, R2.x.2FP@R0.x, R11.x.2@R1.x MULADD_IEEE R6.y.1@R0.y, R3.y.3@R0.y, R4.x.4@R2.x, 0.51234|3f0328b7 RECIP_IEEE R11.x.4@R1.z, C0.x MIN_DX10 R5.x.2@R2.y, R5.x.1@R0.z, R6.x.1@R1.y CNDGT R3.x.3@R0.x, R2.w.1FP@R0.w, R3.x.2@R1.x, R2.x.2FP@R0.x MULADD_IEEE R6.x.3@R0.z, R6.y.1@R0.y, R11.x.4@R1.z, R5.x.2@R2.y MULADD_IEEE R6.x.2@R1.x, R3.x.3@R0.x, R4.x.4@R2.x, 0.51234|3f0328b7 MULADD_IEEE R6.y.3FP@R0.y, R6.x.3@R0.z, R11.x.4@R1.z, R11.x.4@R1.z MULADD_IEEE R6.x.6FP@R0.x, R6.x.2@R1.x, R11.x.4@R1.z, 0|00000000 MUL_IEEE R6.x.4FP@R1.y, R6.x.3@R0.z, R11.x.4@R1.z MUL_IEEE R4.x.6FP@R1.x, R6.x.2@R1.x, R11.x.4@R1.z (copy) MOV t6FP@R0.y, R6.y.3FP@R0.y (copy) MOV t5FP@R0.x, R6.x.6FP@R0.x (copy) MOV t11FP@R1.y, R6.x.4FP@R1.y (copy) MOV t10FP@R1.x, R4.x.6FP@R1.x > live_after: [R2.w.1FP@R0.w R3.z.3@R1.w R4.x.4@R2.x R5.x.2@R2.y t5FP@R0.x t6FP@R0.y t10FP@R1.x t11FP@R1.y ] TEX < live_before: [R2.w.1FP@R0.w R3.z.3@R1.w R4.x.4@R2.x R5.x.2@R2.y t5FP@R0.x t6FP@R0.y t10FP@R1.x t11FP@R1.y ] SAMPLE t12FP@R1.x, t13FP@R1.y, t14FP@R1.z, __, t10FP@R1.x, t11FP@R1.y, __, __ SAMPLE t7FP@R0.x, t8FP@R0.y, t9FP@R0.z, __, t5FP@R0.x, t6FP@R0.y, __, __ > live_after: [R2.w.1FP@R0.w R3.z.3@R1.w R4.x.4@R2.x R5.x.2@R2.y t7FP@R0.x t8FP@R0.y t9FP@R0.z t12FP@R1.x t13FP@R1.y t14FP@R1.z ] ALU < live_before: [R2.w.1FP@R0.w R3.z.3@R1.w R4.x.4@R2.x R5.x.2@R2.y t7FP@R0.x t8FP@R0.y t9FP@R0.z t12FP@R1.x t13FP@R1.y t14FP@R1.z ] MULADD_IEEE R4.x.7@R1.w, R3.z.3@R1.w, R4.x.4@R2.x, -R5.x.2@R2.y ADD R11.x.7@R2.x, -R4.x.7@R1.w, 1|3f800000 (copy) MOV R7.z.1FP@R1.z, t14FP@R1.z MUL R11.z.2@R1.z, R11.x.7@R2.x, R7.z.1FP@R1.z (copy) MOV R7.y.2FP@R1.y, t13FP@R1.y MUL R11.y.2@R1.y, R11.x.7@R2.x, R7.y.2FP@R1.y (copy) MOV R7.x.5FP@R1.x, t12FP@R1.x MUL R11.x.8@R1.x, R11.x.7@R2.x, R7.x.5FP@R1.x (copy) MOV R6.z.1FP@R0.z, t9FP@R0.z MULADD R4.z.2@R0.z, R4.x.7@R1.w, R6.z.1FP@R0.z, R11.z.2@R1.z (copy) MOV R6.y.5FP@R0.y, t8FP@R0.y MULADD R4.y.4@R0.y, R4.x.7@R1.w, R6.y.5FP@R0.y, R11.y.2@R1.y (copy) MOV R6.x.8FP@R0.x, t7FP@R0.x MULADD R4.x.8@R0.x, R4.x.7@R1.w, R6.x.8FP@R0.x, R11.x.8@R1.x MUL_IEEE R3.z.4FP@R0.z, R4.z.2@R0.z, R2.w.1FP@R0.w MUL_IEEE R3.y.4FP@R0.y, R4.y.4@R0.y, R2.w.1FP@R0.w MUL_IEEE R3.x.4FP@R0.x, R4.x.8@R0.x, R2.w.1FP@R0.w (copy) MOV t4FP@R0.z, R3.z.4FP@R0.z (copy) MOV t3FP@R0.y, R3.y.4FP@R0.y (copy) MOV t2FP@R0.x, R3.x.4FP@R0.x > live_after: [t2FP@R0.x t3FP@R0.y t4FP@R0.z ] EXPORT PIXEL 0 t2FP@R0.x, t3FP@R0.y, t4FP@R0.z, 1|3f800000 } end BB_0 } ###### after post_scheduler { preloaded inputs [R0.x||FP@R0.x, R0.y||FP@R0.y, __, __] { BB_0 loop_level = 0 live_before: [R0.x||FP@R0.x R0.y||FP@R0.y ] TEX < live_before: [t15||FP@R0.x t16||FP@R0.y ] SAMPLE t17||FP@R0.x, t18||FP@R0.y, t19||FP@R0.z, t20||FP@R0.w, t15||FP@R0.x, t16||FP@R0.y, __, __ > live_after: [t17||FP@R0.x t18||FP@R0.y t19||FP@R0.z t20||FP@R0.w ] ALU < [ RECIP_IEEE R11.x.2F@R124.x, R2.w.1||FP@R0.w ] [ MUL_IEEE R3.z.2F@R124.y, R2.z.1||FP@R0.z, R11.x.2F@R124.x ] [ ADD R4.x.4||F@R2.x, C0.x, -1|bf800000 CNDGT R3.z.3||F@R1.w, R2.w.1||FP@R0.w, R3.z.2F@R124.y, R2.z.1||FP@R0.z ] [ MUL_IEEE R4.z.1F@R124.y, R3.z.3||F@R1.w, R4.x.4||F@R2.x ] [ ADD R6.x.1F@R124.y, C0.x, -2|c0000000 FLOOR R5.x.1F@R124.z, R4.z.1F@R124.y MUL_IEEE R3.y.2F@R125.z, R2.y.2||FP@R0.y, R11.x.2F@R124.x ] [ MUL_IEEE R3.x.2F@R124.x, R2.x.2||FP@R0.x, R11.x.2F@R124.x MIN_DX10 R5.x.2||F@R2.y, R5.x.1F@R124.z, R6.x.1F@R124.y CNDGT R3.y.3F@R124.y, R2.w.1||FP@R0.w, R3.y.2F@R125.z, R2.y.2||FP@R0.y ] [ CNDGT R3.x.3F@R124.x, R2.w.1||FP@R0.w, R3.x.2F@R124.x, R2.x.2||FP@R0.x MULADD_IEEE R6.y.1F@R124.y, R3.y.3F@R124.y, R4.x.4||F@R2.x, 0.51234|3f0328b7 RECIP_IEEE R11.x.4F@R125.z, C0.x ] [ MULADD_IEEE R6.x.2F@R124.x, R3.x.3F@R124.x, R4.x.4||F@R2.x, 0.51234|3f0328b7 MULADD_IEEE R6.x.3F@R124.z, R6.y.1F@R124.y, R11.x.4F@R125.z, R5.x.2||F@R2.y ] [ MULADD_IEEE R6.x.6||FP@R0.x, R6.x.2F@R124.x, R11.x.4F@R125.z, 0|00000000 MULADD_IEEE R6.y.3||FP@R0.y, R6.x.3F@R124.z, R11.x.4F@R125.z, R11.x.4F@R125.z ] [ MUL_IEEE R4.x.6||FP@R1.x, R6.x.2F@R124.x, R11.x.4F@R125.z MUL_IEEE R6.x.4||FP@R1.y, R6.x.3F@R124.z, R11.x.4F@R125.z ] > TEX < live_before: [R2.w.1||FP@R0.w R3.z.3||F@R1.w R4.x.4||F@R2.x R5.x.2||F@R2.y t5||FP@R0.x t6||FP@R0.y t10||FP@R1.x t11||FP@R1.y ] SAMPLE t12||FP@R1.x, t13||FP@R1.y, t14||FP@R1.z, __, t10||FP@R1.x, t11||FP@R1.y, __, __ SAMPLE t7||FP@R0.x, t8||FP@R0.y, t9||FP@R0.z, __, t5||FP@R0.x, t6||FP@R0.y, __, __ > live_after: [R2.w.1||FP@R0.w R3.z.3||F@R1.w R4.x.4||F@R2.x R5.x.2||F@R2.y t7||FP@R0.x t8||FP@R0.y t9||FP@R0.z t12||FP@R1.x t13||FP@R1.y t14||FP@R1.z ] ALU < [ MULADD_IEEE R4.x.7F@R124.w, R3.z.3||F@R1.w, R4.x.4||F@R2.x, -R5.x.2||F@R2.y ] [ ADD R11.x.7F@R124.x, -R4.x.7F@R124.w, 1|3f800000 ] [ MUL R11.x.8F@R124.x, R11.x.7F@R124.x, R7.x.5||FP@R1.x MUL R11.y.2F@R124.y, R11.x.7F@R124.x, R7.y.2||FP@R1.y MUL R11.z.2F@R124.z, R11.x.7F@R124.x, R7.z.1||FP@R1.z ] [ MULADD R4.x.8F@R124.x, R4.x.7F@R124.w, R6.x.8||FP@R0.x, R11.x.8F@R124.x MULADD R4.y.4F@R124.y, R4.x.7F@R124.w, R6.y.5||FP@R0.y, R11.y.2F@R124.y MULADD R4.z.2F@R124.z, R4.x.7F@R124.w, R6.z.1||FP@R0.z, R11.z.2F@R124.z ] [ MUL_IEEE R3.x.4||FP@R0.x, R4.x.8F@R124.x, R2.w.1||FP@R0.w MUL_IEEE R3.y.4||FP@R0.y, R4.y.4F@R124.y, R2.w.1||FP@R0.w MUL_IEEE R3.z.4||FP@R0.z, R4.z.2F@R124.z, R2.w.1||FP@R0.w ] > EXPORT PIXEL 0 t2||FP@R0.x, t3||FP@R0.y, t4||FP@R0.z, 1|3f800000 } end BB_0 }