https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117234
Bug ID: 117234
Summary: A few tree codes are marked as trapping when they
can't
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: internal-improvement, missed-optimization, TREE
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
Take:
```
#include <arm_sve.h>
#define vect4f __attribute__((vector_size(4*sizeof(float))))
svfloat32_t f(float a)
{
try {
return svdup_f32(a);
} catch(...)
{ __builtin_trap (); }
}
float f1(float a)
{
try {
return __builtin_assoc_barrier (a);
} catch(...)
{ __builtin_trap (); }
}
```
We should be able to remove the catch for this as vec_duplicate_expr is not a
trapping code.
`-O2 -fnon-call-exceptions -march=armv9-a`