https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111584
Bug ID: 111584 Summary: [aarch64] Redundant movprfx with ptrue Product: gcc Version: 13.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: zhongyunde at huawei dot com Target Milestone: --- * test: https://gcc.godbolt.org/z/E6Eez81jh ``` #include<arm_sve.h> typedef svfloat32_t fvec32 __attribute__((arm_sve_vector_bits(256))); typedef svfloat32_t __m256_; __m256_ _mm256_mul_ps2_z(__m256_ a, __m256_ b) { __m256_ res; res = svmul_f32_z(svptrue_b32(), a, b); return res; } ``` * llvm have same output for _mm256_mul_ps2_x and _mm256_mul_ps2_z, while gcc doesn't has high efficient output for _mm256_mul_ps2_z