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`

Reply via email to