diff options
author | Richard Biener <rguenther@suse.de> | 2024-07-11 09:56:56 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-07-13 13:29:49 +0200 |
commit | abf3964711f05b6858d9775c3595ec2b45483e14 (patch) | |
tree | f3137dcc996b37403307abf3f36e15b9654f7919 /gcc/testsuite/g++.dg/lookup/scope-operator1.C | |
parent | 2ee5b58be62ba83814fd3b09a604ae0858bbd058 (diff) | |
download | gcc-abf3964711f05b6858d9775c3595ec2b45483e14.zip gcc-abf3964711f05b6858d9775c3595ec2b45483e14.tar.gz gcc-abf3964711f05b6858d9775c3595ec2b45483e14.tar.bz2 |
tree-optimization/115868 - ICE with .MASK_CALL in simdclone
The following adjusts mask recording which didn't take into account
that we can merge call arguments from two vectors like
_50 = {vect_d_1.253_41, vect_d_1.254_43};
_51 = VIEW_CONVERT_EXPR<unsigned char>(mask__19.257_49);
_52 = (unsigned int) _51;
_53 = _Z3bazd.simdclone.7 (_50, _52);
_54 = BIT_FIELD_REF <_53, 256, 0>;
_55 = BIT_FIELD_REF <_53, 256, 256>;
The testcase g++.dg/vect/pr68762-2.cc exercises this on x86_64 with
partial vector usage enabled and AVX512 support.
PR tree-optimization/115868
* tree-vect-stmts.cc (vectorizable_simd_clone_call): Correctly
compute the number of mask copies required for vect_record_loop_mask.
Diffstat (limited to 'gcc/testsuite/g++.dg/lookup/scope-operator1.C')
0 files changed, 0 insertions, 0 deletions