Run conditional-assignment loop forwards.

This makes for a slightly more easier-to-read disassembly; register
numbering no longer goes in reverse for vector assignment. Of course, it
makes no difference in the actual execution.

Change-Id: I86c5024bae1f73b1cd98252e4831207e47dc11eb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/452323
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
diff --git a/src/sksl/codegen/SkSLVMCodeGenerator.cpp b/src/sksl/codegen/SkSLVMCodeGenerator.cpp
index 2548188..41d923a 100644
--- a/src/sksl/codegen/SkSLVMCodeGenerator.cpp
+++ b/src/sksl/codegen/SkSLVMCodeGenerator.cpp
@@ -1465,7 +1465,7 @@
 
     // `slots` are now absolute indices into `fSlots`.
     skvm::I32 mask = this->mask();
-    for (size_t i = rhs.slots(); i --> 0;) {
+    for (size_t i = 0; i < rhs.slots(); ++i) {
         skvm::Val& slotVal = fSlots[slots[i]];
         slotVal = this->writeConditionalStore(slotVal, rhs[i], mask);
     }
diff --git a/tests/sksl/runtime/Switch.skvm b/tests/sksl/runtime/Switch.skvm
index fcf5ff5..0c0bf5a 100644
--- a/tests/sksl/runtime/Switch.skvm
+++ b/tests/sksl/runtime/Switch.skvm
@@ -11,28 +11,28 @@
 9	r9 = splat FFFFFFFF (nan)
 10	r10 = trunc r1
 11	r8 = eq_i32 r8 r10
-12	r11 = bit_and r7 r8
-13	r12 = bit_and r6 r8
-14	r13 = bit_and r5 r8
-15	r14 = bit_and r4 r8
+12	r11 = bit_and r4 r8
+13	r12 = bit_and r5 r8
+14	r13 = bit_and r6 r8
+15	r14 = bit_and r7 r8
 16	r15 = bit_xor r9 r8
 17	r8 = bit_and r8 r15
 18	r16 = splat 1 (1.4012985e-45)
 19	r10 = eq_i32 r16 r10
 20	r10 = bit_or r8 r10
 21	r10 = bit_and r10 r15
-22	r11 = select r10 r3 r11
-23	r12 = select r10 r2 r12
-24	r13 = select r10 r1 r13
-25	r14 = select r10 r0 r14
+22	r11 = select r10 r0 r11
+23	r12 = select r10 r1 r12
+24	r13 = select r10 r2 r13
+25	r14 = select r10 r3 r14
 26	r10 = bit_xor r9 r10
 27	r10 = bit_and r15 r10
-28	r11 = select r10 r7 r11
-29	r12 = select r10 r6 r12
-30	r13 = select r10 r5 r13
-31	r14 = select r10 r4 r14
+28	r11 = select r10 r4 r11
+29	r12 = select r10 r5 r12
+30	r13 = select r10 r6 r13
+31	r14 = select r10 r7 r14
 loop:
-32	    store32 ptr1 r14
-33	    store32 ptr2 r13
-34	    store32 ptr3 r12
-35	    store32 ptr4 r11
+32	    store32 ptr1 r11
+33	    store32 ptr2 r12
+34	    store32 ptr3 r13
+35	    store32 ptr4 r14