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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [binutils-2.20.1/] [gas/] [testsuite/] [gas/] [ia64/] [opc-f.pl] - Blame information for rev 219

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

Line No. Rev Author Line
1 205 julius
print ".text\n\t.type _start,@", "function\n_start:\n\n";
2
 
3
@sf = ( "", ".s0", ".s1", ".s2", ".s3" );
4
 
5
# Arithmetic
6
 
7
foreach $i ( "fma", "fma.s", "fma.d", "fpma",
8
             "fms", "fms.s", "fms.d", "fpms",
9
             "fnma", "fnma.s", "fnma.d", "fpnma" ) {
10
  foreach $s (@sf) {
11
    print "\t${i}${s} f4 = f5, f6, f7\n";
12
  }
13
  print "\n";
14
}
15
 
16
foreach $i ( "fmpy", "fmpy.s", "fmpy.d", "fpmpy",
17
             "fadd", "fadd.s", "fadd.d",
18
             "fsub", "fsub.s", "fsub.d",
19
             "fnmpy", "fnmpy.s", "fnmpy.d", "fpnmpy" ) {
20
  foreach $s (@sf) {
21
    print "\t${i}${s} f4 = f5, f6\n";
22
  }
23
  print "\n";
24
}
25
 
26
foreach $i ( "fnorm", "fnorm.s", "fnorm.d" ) {
27
  foreach $s (@sf) {
28
    print "\t${i}${s} f4 = f5\n";
29
  }
30
  print "\n";
31
}
32
 
33
# Fixed Point Multiply Add
34
 
35
foreach $s ( ".l", ".lu", ".h", ".hu" ) {
36
  print "\txma${s} f4 = f5, f6, f7\n";
37
}
38
print "\n";
39
 
40
foreach $s ( ".l", ".lu", ".h", ".hu" ) {
41
  print "\txmpy${s} f4 = f5, f6\n";
42
}
43
print "\n";
44
 
45
# Parallel Floating Point Select
46
 
47
print "\tfselect f4 = f5, f6, f7\n\n";
48
 
49
# Floating Point Compare
50
 
51
@cmp = ( ".eq", ".lt", ".le", ".unord", ".gt", ".ge", ".neq", ".nlt",
52
         ".nle", ".ngt", ".nge", ".ord" );
53
 
54
@fctype = ( "", ".unc" );
55
 
56
foreach $c (@cmp) {
57
  foreach $u (@fctype) {
58
    foreach $s (@sf) {
59
      print "\tfcmp${c}${u}${s} p3, p4 = f4, f5\n";
60
    }
61
  }
62
  print "\n";
63
}
64
 
65
# Floating Point Class
66
 
67
foreach $u (@fctype) {
68
  foreach $c ( '@nat', '@qnan', '@snan', '@pos', '@neg', '@unorm',
69
               '@norm', '@inf', '0x1ff' ) {
70
    foreach $m ( ".m", ".nm" ) {
71
      print "\tfclass${m}${u} p3, p4 = f4, $c\n";
72
    }
73
  }
74
  print "\n";
75
}
76
 
77
# Approximation
78
 
79
foreach $i ( "frcpa", "fprcpa" ) {
80
  foreach $s (@sf) {
81
    print "\t${i}${s} f4, p5 = f6, f7\n";
82
  }
83
  print "\n";
84
}
85
 
86
foreach $i ( "frsqrta", "fprsqrta" ) {
87
  foreach $s (@sf) {
88
    print "\t${i}${s} f4, p5 = f6\n";
89
  }
90
  print "\n";
91
}
92
 
93
# Min/Max
94
 
95
foreach $i ( "fmin", "fmax", "famin", "famax",
96
             "fpmin", "fpmax", "fpamin", "fpamax" ) {
97
  foreach $s (@sf) {
98
    print "\t${i}${s} f4 = f5, f6\n";
99
  }
100
  print "\n";
101
}
102
 
103
# Parallel Compare
104
 
105
foreach $c (@cmp) {
106
  foreach $s (@sf) {
107
    print "\tfpcmp${c}${s} f3 = f4, f5\n";
108
  }
109
  print "\n";
110
}
111
 
112
# Merge and Logical
113
 
114
foreach $i ( "fmerge.s", "fmerge.ns", "fmerge.se", "fmix.lr", "fmix.r",
115
             "fmix.l", "fsxt.l", "fpack", "fswap", "fswap.nl", "fswap.nr",
116
             "fand", "fandcm", "for", "fxor", "fpmerge.s", "fpmerge.ns",
117
             "fpmerge.se" ) {
118
  print "\t$i f4 = f5, f6\n";
119
}
120
print "\n";
121
 
122
foreach $i ( "fabs", "fneg", "fnegabs", "fpabs", "fpneg", "fpnegabs" ) {
123
  print "\t$i f4 = f5\n";
124
}
125
print "\n";
126
 
127
# Convert Floating to Fixed
128
 
129
foreach $b ( "fcvt", "fpcvt" ) {
130
  foreach $f ( ".fx", ".fxu" ) {
131
    foreach $t ( "", ".trunc" ) {
132
      foreach $s (@sf) {
133
        print "\t${b}${f}${t}${s} f4 = f5\n";
134
      }
135
      print "\n";
136
    }
137
  }
138
}
139
 
140
# Convert Fixed to Floating
141
 
142
foreach $e ( ".xf", ".xuf" ) {
143
  print "\tfcvt$e f4 = f5\n";
144
}
145
print "\n";
146
 
147
# Set Controls
148
 
149
foreach $s (@sf) {
150
  print "\tfsetc$s 0, 0\n";
151
  print "\tfsetc$s 0x3f, 0x3f\n";
152
}
153
print "\n";
154
 
155
# Clear flags
156
 
157
foreach $s (@sf) {
158
  print "\tfclrf$s\n";
159
}
160
print "\n";
161
 
162
# Check flags
163
 
164
foreach $s (@sf) {
165
  print "\tfchkf$s _start\n";
166
}
167
print "\n";
168
 
169
# Misc
170
 
171
print "\tbreak.f 0\n";
172
print "\tnop.f 0;;\n";
173
print "\n";
174
 

powered by: WebSVN 2.1.0

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