Added English Language description for stfsx instruction
[openpower-isa.git] / openpower / isa / fpstore.mdwn
1 <!-- X Instructions here described in PowerISA Version 3.0 B Book 1 -->
2
3 <!-- Section 4.6.3 Floating-point store instructions. P 144 - 147 -->
4
5 # Store Floating-Point Single
6
7 D-Form
8
9 * stfs FRS,D(RA)
10
11 Pseudo-code:
12
13 EA <- (RA|0) + EXTS(D)
14 MEM(EA, 4)<- SINGLE( (FRS) )
15
16 Description:
17
18 Let the effective address (EA) be the sum (RA|0)+D.
19
20 The contents of register FRS are converted to single
21 format (see page 142) and stored into the word in stor-
22 age addressed by EA.
23
24 Special Registers Altered:
25
26 None
27
28 # Store Floating-Point Single Indexed
29
30 X-Form
31
32 * stfsx FRS,RA,RB
33
34 Pseudo-code:
35
36 EA <- (RA|0) + (RB)
37 MEM(EA, 4)<- SINGLE( (FRS) )
38
39 Description:
40
41 Let the effective address (EA) be the sum (RA|0)+(RB).
42
43 The contents of register FRS are converted to single
44 format (see page 142) and stored into the word in stor-
45 age addressed by EA.
46
47 Special Registers Altered:
48
49 None
50
51 # Store Floating-Point Single with Update
52
53 D-Form
54
55 * stfsu FRS,D(RA)
56
57 Pseudo-code:
58
59 EA <- (RA) + EXTS(D)
60 MEM(EA, 4)<- SINGLE( (FRS) )
61 RA <- EA
62
63 Special Registers Altered:
64
65 None
66
67 # Store Floating-Point Single with Update Indexed
68
69 X-Form
70
71 * stfsux FRS,RA,RB
72
73 Pseudo-code:
74
75 EA <- (RA) + (RB)
76 MEM(EA, 4)<- SINGLE( (FRS) )
77 RA <- EA
78
79 Special Registers Altered:
80
81 None
82
83 # Store Floating-Point Double
84
85 D-Form
86
87 * stfd FRS,D(RA)
88
89 Pseudo-code:
90
91 EA <- (RA|0) + EXTS(D)
92 MEM(EA, 8)<- (FRS)
93
94 Special Registers Altered:
95
96 None
97
98 # Store Floating-Point Double Indexed
99
100 X-Form
101
102 * stfdx FRS,RA,RB
103
104 Pseudo-code:
105
106 EA <- (RA|0) + (RB)
107 MEM(EA, 8)<- (FRS)
108
109 Special Registers Altered:
110
111 None
112
113 # Store Floating-Point Double with Update
114
115 D-Form
116
117 * stfdu FRS,D(RA)
118
119 Pseudo-code:
120
121 EA <- (RA) + EXTS(D)
122 MEM(EA, 8)<- (FRS)
123 RA <- EA
124
125 Special Registers Altered:
126
127 None
128
129 # Store Floating-Point Double with Update Indexed
130
131 X-Form
132
133 * stfdux FRS,RA,RB
134
135 Pseudo-code:
136
137 EA <- (RA) + (RB)
138 MEM(EA, 8)<- (FRS)
139 RA <- EA
140
141 Special Registers Altered:
142
143 None
144
145 # Store Floating-Point as Integer Word Indexed
146
147 X-Form
148
149 * stfiwx FRS,RA,RB
150
151 Pseudo-code:
152
153 b <- (RA|0)
154 EA <- b + (RB)
155 MEM(EA, 8)<- (FRS)[32:63]
156
157 Special Registers Altered:
158
159 None