OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.target/] [i386/] [fma_2.h] - Blame information for rev 764

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 691 jeremybenn
 
2
#ifndef fma_2
3
#define fma_2
4
 
5
TYPE __attribute__((sseregparm))
6
test_noneg_add_noneg_add (TYPE a, TYPE b, TYPE c)
7
{
8
  return ((a * b) + c) * a + c;
9
}
10
 
11
TYPE __attribute__((sseregparm))
12
test_noneg_add_noneg_sub (TYPE a, TYPE b, TYPE c)
13
{
14
  return ((a * b) + c) * a - c;
15
}
16
 
17
TYPE __attribute__((sseregparm))
18
test_noneg_add_neg_add (TYPE a, TYPE b, TYPE c)
19
{
20
  return -((a * b) + c) * a + c;
21
}
22
 
23
TYPE __attribute__((sseregparm))
24
test_noneg_add_neg_sub (TYPE a, TYPE b, TYPE c)
25
{
26
  return -((a * b) + c) * a - c;
27
}
28
 
29
TYPE __attribute__((sseregparm))
30
test_noneg_sub_noneg_add (TYPE a, TYPE b, TYPE c)
31
{
32
  return ((a * b) - c) * a + c;
33
}
34
 
35
TYPE __attribute__((sseregparm))
36
test_noneg_sub_noneg_sub (TYPE a, TYPE b, TYPE c)
37
{
38
  return ((a * b) - c) * a - c;
39
}
40
 
41
TYPE __attribute__((sseregparm))
42
test_noneg_sub_neg_add (TYPE a, TYPE b, TYPE c)
43
{
44
  return -((a * b) - c) * a + c;
45
}
46
 
47
TYPE __attribute__((sseregparm))
48
test_noneg_sub_neg_sub (TYPE a, TYPE b, TYPE c)
49
{
50
  return -((a * b) - c) * a - c;
51
}
52
 
53
TYPE __attribute__((sseregparm))
54
test_neg_add_noneg_add (TYPE a, TYPE b, TYPE c)
55
{
56
  return (-(a * b) + c) * a + c;
57
}
58
 
59
TYPE __attribute__((sseregparm))
60
test_neg_add_noneg_sub (TYPE a, TYPE b, TYPE c)
61
{
62
  return (-(a * b) + c) * a - c;
63
}
64
 
65
TYPE __attribute__((sseregparm))
66
test_neg_add_neg_add (TYPE a, TYPE b, TYPE c)
67
{
68
  return -(-(a * b) + c) * a + c;
69
}
70
 
71
TYPE __attribute__((sseregparm))
72
test_neg_add_neg_sub (TYPE a, TYPE b, TYPE c)
73
{
74
  return -(-(a * b) + c) * a - c;
75
}
76
 
77
TYPE __attribute__((sseregparm))
78
test_neg_sub_noneg_add (TYPE a, TYPE b, TYPE c)
79
{
80
  return (-(a * b) - c) * a + c;
81
}
82
 
83
TYPE __attribute__((sseregparm))
84
test_neg_sub_noneg_sub (TYPE a, TYPE b, TYPE c)
85
{
86
  return (-(a * b) - c) * a - c;
87
}
88
 
89
TYPE __attribute__((sseregparm))
90
test_neg_sub_neg_add (TYPE a, TYPE b, TYPE c)
91
{
92
  return -(-(a * b) - c) * a + c;
93
}
94
 
95
TYPE __attribute__((sseregparm))
96
test_neg_sub_neg_sub (TYPE a, TYPE b, TYPE c)
97
{
98
  return -(-(a * b) - c) * a - c;
99
}
100
 
101
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.