aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.target/aarch64/csneg-1.c
blob: 08001afd8ca4532b66562e5f631923daa7a34ec9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* { dg-do compile } */
/* { dg-options "-O2" } */

int
test_csneg32_condasn1(int w0,
		      int w1,
		      int w2,
		      int w3) {
  int w4;

  /* { dg-final { scan-assembler "csneg\tw\[0-9\]*.*ne" } } */
  w4 = (w0 == w1) ? -w3 : w2;
  return w4;
}

int
test_csneg32_condasn2(int w0,
		      int w1,
		      int w2,
		      int w3) {
  int w4;

  /* { dg-final { scan-assembler "csneg\tw\[0-9\]*.*eq" } } */
  w4 = (w0 == w1) ? w3 : -w2;
  return w4;
}

long long
test_csneg64_condasn1(long long x0,
		      long long x1,
		      long long x2,
		      long long x3) {
  long long x4;

  /* { dg-final { scan-assembler "csneg\tx\[0-9\]*.*ne" } } */
  x4 = (x0 == x1) ? -x3 : x2;
  return x4;
}

long long
test_csneg64_condasn2(long long x0,
		      long long x1,
		      long long x2,
		      long long x3) {
  long long x4;

  /* { dg-final { scan-assembler "csneg\tx\[0-9\]*.*eq" } } */
  x4 = (x0 == x1) ? x3 : -x2;
  return x4;
}