# WARNING: This file is auto-generated. Do NOT modify it manually, but rather
# modify the generating script file. Otherwise changes will be lost!
# See split-swizzles.js

group ivec3_swizzles "ivec3 swizzles"

	case mediump_ivec3_x
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.x;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_z
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.z;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_xz
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.xz;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_zz
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.zz;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_xyz
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.xyz;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_zyx
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.zyx;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_xxx
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.xxx;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_zzz
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.zzz;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_zzy
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.zzy;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_yxy
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.yxy;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_xzx
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.xzx;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_xyyx
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.xyyx;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_zzzz
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.zzzz;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_s
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.s;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_p
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.p;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_sp
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.sp;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_pp
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.pp;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_stp
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.stp;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_pts
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.pts;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_sss
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.sss;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_ppp
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.ppp;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_ppt
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.ppt;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_tst
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.tst;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_sps
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.sps;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_stts
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.stts;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_pppp
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.pppp;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_r
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output int out0 = [ 0 | 1 | 0 | -32 | 0 ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.r;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_b
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output int out0 = [ 0 | 1 | -4 | -51 | 0 ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.b;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_rb
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -4) | ivec2(-32, -51) | ivec2(0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.rb;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_bb
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(-4, -4) | ivec2(-51, -51) | ivec2(0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.bb;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_rgb
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.rgb;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_bgr
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -2, 0) | ivec3(-51, 64, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.bgr;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_rrr
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, -32, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.rrr;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_bbb
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -4) | ivec3(-51, -51, -51) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.bbb;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_bbg
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-4, -4, -2) | ivec3(-51, -51, 64) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.bbg;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_grg
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(-2, 0, -2) | ivec3(64, -32, 64) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.grg;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_rbr
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -4, 0) | ivec3(-32, -51, -32) | ivec3(0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.rbr;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_rggr
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -2, 0) | ivec4(-32, 64, 64, -32) | ivec4(0, 0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.rggr;
				${OUTPUT}
			}
		""
	end


	case mediump_ivec3_bbbb
		version 300 es
		values
		{
			input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ];
			output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(-4, -4, -4, -4) | ivec4(-51, -51, -51, -51) | ivec4(0, 0, 0, 0) ];
		}

		both ""
			#version 300 es
			precision mediump float;

			${DECLARATIONS}

			void main()
			{
				${SETUP}
				out0 = in0.bbbb;
				${OUTPUT}
			}
		""
	end


end # ivec3_swizzles