diff --git a/src/cmd/compile/internal/compare/compare.go b/src/cmd/compile/internal/compare/compare.go
index cb2f84e..e165cd6 100644
--- a/src/cmd/compile/internal/compare/compare.go
+++ b/src/cmd/compile/internal/compare/compare.go
@@ -148,7 +148,7 @@
 		return EqStructCost(t)
 	case types.TSLICE:
 		// Slices are not comparable.
-		base.Fatalf("calculateCostForType: unexpected slice type")
+		base.Fatalf("eqStructFieldCost: unexpected slice type")
 	case types.TARRAY:
 		elemCost := calculateCostForType(t.Elem())
 		cost = t.NumElem() * elemCost
@@ -371,11 +371,6 @@
 }
 
 func eqmemfunc(size int64, t *types.Type) (fn *ir.Name, needsize bool) {
-	if !base.Ctxt.Arch.CanMergeLoads && t.Alignment() < int64(base.Ctxt.Arch.Alignment) && t.Alignment() < t.Size() {
-		// We can't use larger comparisons if the value might not be aligned
-		// enough for the larger comparison. See issues 46283 and 67160.
-		size = 0
-	}
 	switch size {
 	case 1, 2, 4, 8, 16:
 		buf := fmt.Sprintf("memequal%d", int(size)*8)
diff --git a/test/fixedbugs/issue67160.go b/test/fixedbugs/issue67160.go
deleted file mode 100644
index be45a61..0000000
--- a/test/fixedbugs/issue67160.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// run
-
-// Copyright 2024 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Test to make sure that we don't try using larger loads for
-// generated equality functions on architectures that can't do
-// unaligned loads.
-
-package main
-
-// T has a big field that wants to be compared with larger loads/stores.
-// T is "special" because of the unnamed field, so it needs a generated equality function.
-// T is an odd number of bytes in size and has alignment 1.
-type T struct {
-	src [8]byte
-	_   byte
-}
-
-// U contains 8 copies of T, each at a different %8 alignment.
-type U [8]T
-
-//go:noinline
-func f(x, y *U) bool {
-	return *x == *y
-}
-
-func main() {
-	var a U
-	_ = f(&a, &a)
-}
