cmd/internal/gc: add missing write barrier in append(x, BigStructWithPointers)

Fixes #10897.

Change-Id: I5c2d1f9d26333e2b2a0613ebf496daa465e07c24
Reviewed-on: https://go-review.googlesource.com/10221
Reviewed-by: Austin Clements <austin@google.com>
diff --git a/test/writebarrier.go b/test/writebarrier.go
index b24af9a..9b741a6 100644
--- a/test/writebarrier.go
+++ b/test/writebarrier.go
@@ -128,3 +128,19 @@
 func f14(y *[]int) {
 	*y = append(*y, 1) // ERROR "write barrier"
 }
+
+type T1 struct {
+	X *int
+}
+
+func f15(x []T1, y T1) []T1 {
+	return append(x, y) // ERROR "write barrier"
+}
+
+type T8 struct {
+	X [8]*int
+}
+
+func f16(x []T8, y T8) []T8 {
+	return append(x, y) // ERROR "write barrier"
+}