i965: Define GEN_GE/GEN_LE macros in terms of GEN_LT.
authorMatt Turner <mattst88@gmail.com>
Sun, 1 May 2016 20:20:25 +0000 (13:20 -0700)
committerMatt Turner <mattst88@gmail.com>
Wed, 4 May 2016 05:34:01 +0000 (22:34 -0700)
GEN_LT has a straightforward implementation on which we can build the
GEN_GE and GEN_LE macros.

Suggested-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_eu.c

index 369bc348b9835443380a5a1a0831f4a8b85d94de..48c8439aca068ba38822615eb62e843154c7be45 100644 (file)
@@ -352,8 +352,9 @@ enum gen {
    GEN_ALL = ~0
 };
 
-#define GEN_GE(gen) (~((gen) - 1) | gen)
-#define GEN_LE(gen) (((gen) - 1) | gen)
+#define GEN_LT(gen) ((gen) - 1)
+#define GEN_GE(gen) (~GEN_LT(gen))
+#define GEN_LE(gen) (GEN_LT(gen) | (gen))
 
 static const struct opcode_desc opcode_10_descs[] = {
    { .name = "dim",   .nsrc = 0, .ndst = 0, .gens = GEN75 },