brw/sat: Convert nearly all tests to use new style builders
v2: Use new style builder for second ADD in other_non_saturated_use too. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31834>
This commit is contained in:
@@ -120,11 +120,10 @@ saturate_propagation(fs_visitor *v)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, basic)
|
TEST_F(saturate_propagation_test, basic)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.ADD(dst0, src0, src1);
|
brw_reg dst0 = bld.ADD(src0, src1);
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
/* = Before =
|
/* = Before =
|
||||||
@@ -154,14 +153,12 @@ TEST_F(saturate_propagation_test, basic)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, other_non_saturated_use)
|
TEST_F(saturate_propagation_test, other_non_saturated_use)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.ADD(dst0, src0, src1);
|
brw_reg dst0 = bld.ADD(src0, src1);
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
bld.ADD(dst2, dst0, src0);
|
bld.ADD(dst0, src0);
|
||||||
|
|
||||||
/* = Before =
|
/* = Before =
|
||||||
*
|
*
|
||||||
@@ -225,10 +222,9 @@ TEST_F(saturate_propagation_test, predicated_instruction)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, neg_mov_sat)
|
TEST_F(saturate_propagation_test, neg_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.RNDU(dst0, src0);
|
brw_reg dst0 = bld.RNDU(src0);
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
@@ -258,11 +254,10 @@ TEST_F(saturate_propagation_test, neg_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, add_neg_mov_sat)
|
TEST_F(saturate_propagation_test, add_neg_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.ADD(dst0, src0, src1);
|
brw_reg dst0 = bld.ADD(src0, src1);
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
@@ -295,11 +290,9 @@ TEST_F(saturate_propagation_test, add_neg_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, add_imm_float_neg_mov_sat)
|
TEST_F(saturate_propagation_test, add_imm_float_neg_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = brw_imm_f(1.0f);
|
brw_reg dst0 = bld.ADD(src0, brw_imm_f(1.0f));
|
||||||
bld.ADD(dst0, src0, src1);
|
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
@@ -332,11 +325,10 @@ TEST_F(saturate_propagation_test, add_imm_float_neg_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, mul_neg_mov_sat)
|
TEST_F(saturate_propagation_test, mul_neg_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.MUL(dst0, src0, src1);
|
brw_reg dst0 = bld.MUL(src0, src1);
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
@@ -369,12 +361,11 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, mad_neg_mov_sat)
|
TEST_F(saturate_propagation_test, mad_neg_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src2 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src2 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.MAD(dst0, src0, src1, src2);
|
brw_reg dst0 = bld.MAD(src0, src1, src2);
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
@@ -411,15 +402,13 @@ TEST_F(saturate_propagation_test, mad_imm_float_neg_mov_sat)
|
|||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = brw_imm_f(1.0f);
|
|
||||||
brw_reg src1 = brw_imm_f(-2.0f);
|
|
||||||
brw_reg src2 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src2 = bld.vgrf(BRW_TYPE_F);
|
||||||
/* The builder for MAD tries to be helpful and not put immediates as direct
|
/* The builder for MAD tries to be helpful and not put immediates as direct
|
||||||
* sources. We want to test specifically that case.
|
* sources. We want to test specifically that case.
|
||||||
*/
|
*/
|
||||||
fs_inst *mad = bld.MAD(dst0, src2, src2, src2);
|
fs_inst *mad = bld.MAD(dst0, src2, src2, src2);
|
||||||
mad->src[0] = src0;
|
mad->src[0] = brw_imm_f(1.0f);
|
||||||
mad->src[1] = src1;
|
mad->src[1] = brw_imm_f(-2.0f);
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
@@ -453,12 +442,11 @@ TEST_F(saturate_propagation_test, mad_imm_float_neg_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, mul_mov_sat_neg_mov_sat)
|
TEST_F(saturate_propagation_test, mul_mov_sat_neg_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.MUL(dst0, src0, src1);
|
brw_reg dst0 = bld.MUL(src0, src1);
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst2, dst0));
|
set_saturate(true, bld.MOV(dst2, dst0));
|
||||||
@@ -494,12 +482,11 @@ TEST_F(saturate_propagation_test, mul_mov_sat_neg_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, mul_neg_mov_sat_neg_mov_sat)
|
TEST_F(saturate_propagation_test, mul_neg_mov_sat_neg_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.MUL(dst0, src0, src1);
|
brw_reg dst0 = bld.MUL(src0, src1);
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
set_saturate(true, bld.MOV(dst2, dst0));
|
set_saturate(true, bld.MOV(dst2, dst0));
|
||||||
@@ -536,11 +523,10 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat_neg_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, abs_mov_sat)
|
TEST_F(saturate_propagation_test, abs_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.ADD(dst0, src0, src1);
|
brw_reg dst0 = bld.ADD(src0, src1);
|
||||||
dst0.abs = true;
|
dst0.abs = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
|
|
||||||
@@ -608,12 +594,11 @@ TEST_F(saturate_propagation_test, producer_saturates)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, intervening_saturating_copy)
|
TEST_F(saturate_propagation_test, intervening_saturating_copy)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.ADD(dst0, src0, src1);
|
brw_reg dst0 = bld.ADD(src0, src1);
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
set_saturate(true, bld.MOV(dst2, dst0));
|
set_saturate(true, bld.MOV(dst2, dst0));
|
||||||
|
|
||||||
@@ -695,12 +680,11 @@ TEST_F(saturate_propagation_test, intervening_dest_write)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, mul_neg_mov_sat_mov_sat)
|
TEST_F(saturate_propagation_test, mul_neg_mov_sat_mov_sat)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst2 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.MUL(dst0, src0, src1);
|
brw_reg dst0 = bld.MUL(src0, src1);
|
||||||
dst0.negate = true;
|
dst0.negate = true;
|
||||||
set_saturate(true, bld.MOV(dst1, dst0));
|
set_saturate(true, bld.MOV(dst1, dst0));
|
||||||
dst0.negate = false;
|
dst0.negate = false;
|
||||||
@@ -737,11 +721,10 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat_mov_sat)
|
|||||||
|
|
||||||
TEST_F(saturate_propagation_test, smaller_exec_size_consumer)
|
TEST_F(saturate_propagation_test, smaller_exec_size_consumer)
|
||||||
{
|
{
|
||||||
brw_reg dst0 = bld.vgrf(BRW_TYPE_F);
|
|
||||||
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg dst1 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src0 = bld.vgrf(BRW_TYPE_F);
|
||||||
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
brw_reg src1 = bld.vgrf(BRW_TYPE_F);
|
||||||
bld.ADD(dst0, src0, src1);
|
brw_reg dst0 = bld.ADD(src0, src1);
|
||||||
set_saturate(true, bld.group(8, 0).MOV(dst1, dst0));
|
set_saturate(true, bld.group(8, 0).MOV(dst1, dst0));
|
||||||
|
|
||||||
/* = Before =
|
/* = Before =
|
||||||
|
Reference in New Issue
Block a user