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`