aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 9219a0d..d679115 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -2438,11 +2438,20 @@ reduction_fn_for_scalar_code (enum tree_code code, internal_fn *reduc_fn)
*reduc_fn = IFN_REDUC_PLUS;
return true;
- case MULT_EXPR:
- case MINUS_EXPR:
+ case BIT_AND_EXPR:
+ *reduc_fn = IFN_REDUC_AND;
+ return true;
+
case BIT_IOR_EXPR:
+ *reduc_fn = IFN_REDUC_IOR;
+ return true;
+
case BIT_XOR_EXPR:
- case BIT_AND_EXPR:
+ *reduc_fn = IFN_REDUC_XOR;
+ return true;
+
+ case MULT_EXPR:
+ case MINUS_EXPR:
*reduc_fn = IFN_LAST;
return true;