https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119145
Bug ID: 119145 Summary: [15 Regression] ICE in expanding IFN_MASK_CALL from vector math Product: gcc Version: 15.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: tnfchris at gcc dot gnu.org Target Milestone: --- Target: aarch64* The following testcase: typedef short Quantum; Quantum ComplexImages_Bi_0, ComplexImages_Ai_0, ComplexImages_Ai_1; long ComplexImages_x; __attribute__((__simd__)) double atan2(double, double); typedef enum { MagickFalse } MagickBooleanType; struct { MagickBooleanType matte; } *ComplexImages_images; typedef struct { Quantum blue, opacity; } PixelPacket; typedef enum { MagnitudePhaseComplexOperator } ComplexOperator; PixelPacket ComplexImages_Ar, ComplexImages_Br; PixelPacket *ComplexImages_Ci; ComplexOperator ComplexImages_op; void ComplexImages() { for (; ComplexImages_x; ComplexImages_x++) switch (ComplexImages_op) { case MagnitudePhaseComplexOperator: if (ComplexImages_images->matte) ComplexImages_Ci->opacity = atan2(ComplexImages_Ai_1, ComplexImages_Ar.opacity); ComplexImages_Ci->blue = 1.0 / (ComplexImages_Ai_0 * ComplexImages_Br.blue + ComplexImages_Ar.blue * ComplexImages_Bi_0); } } compiled with -march=armv9-a -fno-vect-cost-model -Ofast ICEs with: during RTL pass: expand fourier.i: In function 'ComplexImages': fourier.i:22:13: internal compiler error: in expand_MASK_CALL, at internal-fn.cc:5368 22 | atan2(ComplexImages_Ai_1, ComplexImages_Ar.opacity); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x36c5afb internal_error(char const*, ...) ../../gcc/gcc/gcc/diagnostic-global-context.cc:517 0x369082f fancy_abort(char const*, int, char const*) ../../gcc/gcc/gcc/diagnostic.cc:1722 0x158baf3 expand_MASK_CALL(internal_fn, gcall*) ../../gcc/gcc/gcc/internal-fn.cc:5368 0x158b0ab expand_internal_call(internal_fn, gcall*) ../../gcc/gcc/gcc/internal-fn.cc:5273 0x158b0d3 expand_internal_call(gcall*) ../../gcc/gcc/gcc/internal-fn.cc:5281 0x11a8c6b expand_call_stmt ../../gcc/gcc/gcc/cfgexpand.cc:3049 0x11ace3b expand_gimple_stmt_1 ../../gcc/gcc/gcc/cfgexpand.cc:4217 0x11ad4ff expand_gimple_stmt ../../gcc/gcc/gcc/cfgexpand.cc:4364 0x11b595f expand_gimple_basic_block ../../gcc/gcc/gcc/cfgexpand.cc:6427 0x11b817b execute ../../gcc/gcc/gcc/cfgexpand.cc:7176