aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-07-03 09:17:06 +0200
committerRichard Biener <rguenther@suse.de>2023-07-03 10:02:25 +0200
commit000590c074615cbfffb6ad854a6474e623801460 (patch)
treee685d82ce050283de2c70be172f6085ff8a3e697 /gcc/tree-vect-patterns.cc
parentbd7e9856fe5bbeb487797476c4fffb660f63cf4f (diff)
downloadgcc-000590c074615cbfffb6ad854a6474e623801460.zip
gcc-000590c074615cbfffb6ad854a6474e623801460.tar.gz
gcc-000590c074615cbfffb6ad854a6474e623801460.tar.bz2
tree-optimization/110506 - ICE in pattern recog with TYPE_PRECISION
The following re-orders checks to make sure we check TYPE_PRECISION on an integral type. PR tree-optimization/110506 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Re-order TYPE_PRECISION access with INTEGRAL_TYPE_P check. * gcc.dg/pr110506-2.c: New testcase.
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
-rw-r--r--gcc/tree-vect-patterns.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc
index 25f7f8e..de20e9d 100644
--- a/gcc/tree-vect-patterns.cc
+++ b/gcc/tree-vect-patterns.cc
@@ -3726,8 +3726,8 @@ vect_recog_rotate_pattern (vec_info *vinfo,
return NULL;
if (TREE_CODE (oprnd0) != SSA_NAME
- || TYPE_PRECISION (TREE_TYPE (lhs)) != TYPE_PRECISION (type)
- || !INTEGRAL_TYPE_P (type))
+ || !INTEGRAL_TYPE_P (type)
+ || TYPE_PRECISION (TREE_TYPE (lhs)) != TYPE_PRECISION (type))
return NULL;
stmt_vec_info def_stmt_info;