AVR: target/116953 - ICE due to operands clobber in avr_out_sbxx_branch.
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / tsvc / vect-tsvc-s279.c
blobbb4943709818afe630e19647eb7499135a24cc6c
1 /* This file is distributed under the University of Illinois Open Source
2 License. See license.txt for details. */
4 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
5 /* { dg-require-effective-target vect_float } */
7 #include "tsvc.h"
9 real_t s279(struct args_t * func_args)
11 // control flow
12 // vector if/gotos
14 initialise_arrays(__func__);
16 for (int nl = 0; nl < iterations/2; nl++) {
17 for (int i = 0; i < LEN_1D; i++) {
18 if (a[i] > (real_t)0.) {
19 goto L20;
21 b[i] = -b[i] + d[i] * d[i];
22 if (b[i] <= a[i]) {
23 goto L30;
25 c[i] += d[i] * e[i];
26 goto L30;
27 L20:
28 c[i] = -c[i] + e[i] * e[i];
29 L30:
30 a[i] = b[i] + c[i] * d[i];
32 dummy(a, b, c, d, e, aa, bb, cc, 0.);
35 return calc_checksum(__func__);
38 int main (int argc, char **argv)
40 int n1 = 1;
41 int n3 = 1;
42 int* ip;
43 real_t s1,s2;
44 init(&ip, &s1, &s2);
46 run(&s279, "s279", NULL);
48 return 0;
51 /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { xfail { { ! aarch64_sve } && { ! riscv_v } } } } } */