+2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
+
+ PR target/79963
+ * config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
+ __POWER9_VECTOR__ #ifdef control, change template definition to
+ use Power9-specific built-in function.
+ (vec_any_eq): Likewise.
+ * config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
+ to control outcomes from this test.
+ (vector_ae_<mode>p): For VEC_F modes, likewise.
+
2017-03-20 Ian Lance Taylor <iant@google.com>
* config/i386/i386.c (ix86_function_regparm): Save an extra
__altivec_scalar_pred(vec_any_eqz,
__builtin_vec_vcmpnez_p (__CR6_LT_REV, a1, a2))
__altivec_scalar_pred(vec_all_ne,
- __builtin_vec_allne_p (a1, a2))
+ __builtin_vec_vcmpne_p (a1, a2))
__altivec_scalar_pred(vec_any_eq,
- __builtin_vec_anyeq_p (a1, a2))
+ __builtin_vec_vcmpae_p (a1, a2))
#endif
__altivec_scalar_pred(vec_any_ne,
(eq:V2DI (match_dup 1)
(match_dup 2)))])
(set (match_operand:SI 0 "register_operand" "=r")
- (lt:SI (reg:CC CR6_REGNO)
+ (eq:SI (reg:CC CR6_REGNO)
(const_int 0)))
(set (match_dup 0)
(xor:SI (match_dup 0)
(eq:VEC_F (match_dup 1)
(match_dup 2)))])
(set (match_operand:SI 0 "register_operand" "=r")
- (lt:SI (reg:CC CR6_REGNO)
+ (eq:SI (reg:CC CR6_REGNO)
(const_int 0)))
(set (match_dup 0)
(xor:SI (match_dup 0)
+2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
+
+ PR target/79963
+ * gcc.target/powerpc/vsu/vec-any-eq-10.c: Add scan-assembler
+ directive to assure selection of proper bit using rlwinm insn.
+ * gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise.
+ * gcc.target/powerpc/vsu/vec-any-eq-7.c: Likewise.
+ * gcc.target/powerpc/vsu/vec-any-eq-8.c: Likewise.
+ * gcc.target/powerpc/vsu/vec-any-eq-9.c: Likewise.
+
2017-03-20 Marek Polacek <polacek@redhat.com>
Paolo Carlini <paolo.carlini@oracle.com>
}
/* { dg-final { scan-assembler "vcmpequd." } } */
+/* { dg-final { scan-assembler "rlwinm r?\[0-9\]+,r?\[0-9\]+,27,1" } } */
}
/* { dg-final { scan-assembler "vcmpequd." } } */
+/* { dg-final { scan-assembler "rlwinm r?\[0-9\]+,r?\[0-9\]+,27,1" } } */
}
/* { dg-final { scan-assembler "xvcmpeqsp." } } */
+/* { dg-final { scan-assembler "rlwinm r?\[0-9\]+,r?\[0-9\]+,27,1" } } */
}
/* { dg-final { scan-assembler "xvcmpeqdp." } } */
+/* { dg-final { scan-assembler "rlwinm r?\[0-9\]+,r?\[0-9\]+,27,1" } } */
}
/* { dg-final { scan-assembler "vcmpequd." } } */
+/* { dg-final { scan-assembler "rlwinm r?\[0-9\]+,r?\[0-9\]+,27,1" } } */