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.