From 82375ccaa461c759d4a588a68ed20bcee92edf8e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 10 Apr 2020 15:03:34 -0700 Subject: freedreno/ir3: Stop doing b2n on the SEL condition. SEL_B32 (and presumably B16) checks for 0 or nonzero in the condition (tested by just stuffing a uniform's value into it), so there's no need to do ir3_b2n() on it, or any preceding ir3_n2b(). instructions in affected programs: 664444 -> 659927 (-0.68%) nops in affected programs: 267898 -> 266312 (-0.59%) non-nops in affected programs: 420260 -> 417329 (-0.70%) dwords in affected programs: 144032 -> 137568 (-4.49%) last-baryf in affected programs: 10801 -> 10321 (-4.44%) full in affected programs: 2003 -> 2002 (-0.05%) sstall in affected programs: 76670 -> 77405 (0.96%) (ss) in affected programs: 4515 -> 4525 (0.22%) (sy) in affected programs: 612 -> 604 (-1.31%) Part-of: --- src/freedreno/ir3/ir3.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/freedreno/ir3/ir3.h') diff --git a/src/freedreno/ir3/ir3.h b/src/freedreno/ir3/ir3.h index 01bfdf64ada..c62b35537e4 100644 --- a/src/freedreno/ir3/ir3.h +++ b/src/freedreno/ir3/ir3.h @@ -1529,6 +1529,7 @@ INSTR3(MAD_U24) INSTR3(MAD_S24) INSTR3(MAD_F16) INSTR3(MAD_F32) +/* NOTE: SEL_B32 checks for zero vs nonzero */ INSTR3(SEL_B16) INSTR3(SEL_B32) INSTR3(SEL_S16) -- cgit v1.2.3