Mesa (master): glsl2: Port equal() and notEqual() to ir_unop_all_equal and ir_unop_any_nequal

Ian Romanick idr at kemper.freedesktop.org
Tue Sep 14 01:00:17 UTC 2010


Module: Mesa
Branch: master
Commit: 309cd4115b7cba669a0bf858e7809cb6dae90ddf
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=309cd4115b7cba669a0bf858e7809cb6dae90ddf

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon Sep 13 17:53:32 2010 -0700

glsl2: Port equal() and notEqual() to ir_unop_all_equal and ir_unop_any_nequal

---

 src/glsl/builtin_function.cpp |  144 +++++++----------------------------------
 src/glsl/builtins/ir/equal    |   72 ++++-----------------
 src/glsl/builtins/ir/notEqual |   72 ++++-----------------
 3 files changed, 48 insertions(+), 240 deletions(-)

diff --git a/src/glsl/builtin_function.cpp b/src/glsl/builtin_function.cpp
index 05b2bc4..1e633e3 100644
--- a/src/glsl/builtin_function.cpp
+++ b/src/glsl/builtin_function.cpp
@@ -787,121 +787,73 @@ static const char *builtin_equal =
    "     (parameters\n"
    "       (declare (in) vec2 arg0)\n"
    "       (declare (in) vec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 arg0)\n"
    "       (declare (in) vec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 arg0)\n"
    "       (declare (in) vec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) bvec2 arg0)\n"
    "       (declare (in) bvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) bvec3 arg0)\n"
    "       (declare (in) bvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) bvec4 arg0)\n"
    "       (declare (in) bvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) ivec2 arg0)\n"
    "       (declare (in) ivec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) ivec3 arg0)\n"
    "       (declare (in) ivec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) ivec4 arg0)\n"
    "       (declare (in) ivec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) uvec2 arg0)\n"
    "       (declare (in) uvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) uvec3 arg0)\n"
    "       (declare (in) uvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) uvec4 arg0)\n"
    "       (declare (in) uvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))\n"
    "))\n"
    ""
 ;
@@ -2359,121 +2311,73 @@ static const char *builtin_notEqual =
    "     (parameters\n"
    "       (declare (in) vec2 arg0)\n"
    "       (declare (in) vec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) vec3 arg0)\n"
    "       (declare (in) vec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) vec4 arg0)\n"
    "       (declare (in) vec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) bvec2 arg0)\n"
    "       (declare (in) bvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) bvec3 arg0)\n"
    "       (declare (in) bvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) bvec4 arg0)\n"
    "       (declare (in) bvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) ivec2 arg0)\n"
    "       (declare (in) ivec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) ivec3 arg0)\n"
    "       (declare (in) ivec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) ivec4 arg0)\n"
    "       (declare (in) ivec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec2\n"
    "     (parameters\n"
    "       (declare (in) uvec2 arg0)\n"
    "       (declare (in) uvec2 arg1))\n"
-   "     ((declare () bvec2 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec3\n"
    "     (parameters\n"
    "       (declare (in) uvec3 arg0)\n"
    "       (declare (in) uvec3 arg1))\n"
-   "     ((declare () bvec3 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "\n"
    "   (signature bvec4\n"
    "     (parameters\n"
    "       (declare (in) uvec4 arg0)\n"
    "       (declare (in) uvec4 arg1))\n"
-   "     ((declare () bvec4 temp)\n"
-   "      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))\n"
-   "      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))\n"
-   "      (return (var_ref temp))))\n"
+   "     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))\n"
    "))\n"
    ""
 ;
diff --git a/src/glsl/builtins/ir/equal b/src/glsl/builtins/ir/equal
index a3c9acf..f6578dc 100644
--- a/src/glsl/builtins/ir/equal
+++ b/src/glsl/builtins/ir/equal
@@ -3,119 +3,71 @@
      (parameters
        (declare (in) vec2 arg0)
        (declare (in) vec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) vec3 arg0)
        (declare (in) vec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) vec4 arg0)
        (declare (in) vec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) bvec2 arg0)
        (declare (in) bvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) bvec3 arg0)
        (declare (in) bvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) bvec4 arg0)
        (declare (in) bvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) ivec2 arg0)
        (declare (in) ivec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) ivec3 arg0)
        (declare (in) ivec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) ivec4 arg0)
        (declare (in) ivec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) uvec2 arg0)
        (declare (in) uvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) uvec3 arg0)
        (declare (in) uvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 all_equal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) uvec4 arg0)
        (declare (in) uvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool == (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool == (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool == (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool == (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 all_equal (var_ref arg0) (var_ref arg1)))))
 ))
diff --git a/src/glsl/builtins/ir/notEqual b/src/glsl/builtins/ir/notEqual
index 34a74e4..d07cdbf 100644
--- a/src/glsl/builtins/ir/notEqual
+++ b/src/glsl/builtins/ir/notEqual
@@ -3,119 +3,71 @@
      (parameters
        (declare (in) vec2 arg0)
        (declare (in) vec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) vec3 arg0)
        (declare (in) vec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) vec4 arg0)
        (declare (in) vec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) bvec2 arg0)
        (declare (in) bvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) bvec3 arg0)
        (declare (in) bvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) bvec4 arg0)
        (declare (in) bvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) ivec2 arg0)
        (declare (in) ivec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) ivec3 arg0)
        (declare (in) ivec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) ivec4 arg0)
        (declare (in) ivec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec2
      (parameters
        (declare (in) uvec2 arg0)
        (declare (in) uvec2 arg1))
-     ((declare () bvec2 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec2 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec3
      (parameters
        (declare (in) uvec3 arg0)
        (declare (in) uvec3 arg1))
-     ((declare () bvec3 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec3 any_nequal (var_ref arg0) (var_ref arg1)))))
 
    (signature bvec4
      (parameters
        (declare (in) uvec4 arg0)
        (declare (in) uvec4 arg1))
-     ((declare () bvec4 temp)
-      (assign (constant bool (1)) (x) (var_ref temp) (expression bool != (swiz x (var_ref arg0))(swiz x (var_ref arg1))))
-      (assign (constant bool (1)) (y) (var_ref temp) (expression bool != (swiz y (var_ref arg0))(swiz y (var_ref arg1))))
-      (assign (constant bool (1)) (z) (var_ref temp) (expression bool != (swiz z (var_ref arg0))(swiz z (var_ref arg1))))
-      (assign (constant bool (1)) (w) (var_ref temp) (expression bool != (swiz w (var_ref arg0))(swiz w (var_ref arg1))))
-      (return (var_ref temp))))
+     ((return (expression bvec4 any_nequal (var_ref arg0) (var_ref arg1)))))
 ))




More information about the mesa-commit mailing list