https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121752

            Bug ID: 121752
           Summary: g++.dg/tree-ssa/vector-compare-1.C fails on arm
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---
            Target: arm

```
      if (int_mode_for_size (leni, 1).exists (&mode)
          && (align >= leni || !targetm.slow_unaligned_access (mode, align)))
```

This is how we decide if we should expand the memcmp into a single load vs keep
it for multiply loads.

The default target hook for slow_unaligned_access  just does:
  return STRICT_ALIGNMENT;


I think for arm, there are some unaligned loads which are fast. so maybe
slow_unaligned_access should not return true for those modes/align. I think arm
backend should return false for integral modes when unaligned_access is true.

Reply via email to