This kind of thing:
struct S { float x; }
S a[2];
a[1] = a[0];
The generated code would not properly copy a[0].x to a[1].x.
LG is submitting this, but the patch is actually from Derek Haase.
LG confirms that it fixes the bug, doesn't break anything else, and
looks correct.