@@ -217,14 +217,36 @@ func Float32Max(a, b float32) float32 {
217
217
// Constant Optimizations //
218
218
// ------------------------ //
219
219
220
+ func Float32ConstantZero () float32 {
221
+ // arm64:"FMOVS\tZR,"
222
+ return 0.0
223
+ }
224
+
225
+ func Float32ConstantChipFloat () float32 {
226
+ // arm64:"FMOVS\t[$]\\(2\\.25\\),"
227
+ return 2.25
228
+ }
229
+
220
230
func Float32Constant () float32 {
231
+ // arm64:"FMOVS\t[$]f32\\.42440000\\(SB\\)"
221
232
// ppc64x/power8:"FMOVS\t[$]f32\\.42440000\\(SB\\)"
222
233
// ppc64x/power9:"FMOVS\t[$]f32\\.42440000\\(SB\\)"
223
234
// ppc64x/power10:"XXSPLTIDP\t[$]1111752704,"
224
235
return 49.0
225
236
}
226
237
238
+ func Float64ConstantZero () float64 {
239
+ // arm64:"FMOVD\tZR,"
240
+ return 0.0
241
+ }
242
+
243
+ func Float64ConstantChipFloat () float64 {
244
+ // arm64:"FMOVD\t[$]\\(2\\.25\\),"
245
+ return 2.25
246
+ }
247
+
227
248
func Float64Constant () float64 {
249
+ // arm64:"FMOVD\t[$]f64\\.4048800000000000\\(SB\\)"
228
250
// ppc64x/power8:"FMOVD\t[$]f64\\.4048800000000000\\(SB\\)"
229
251
// ppc64x/power9:"FMOVD\t[$]f64\\.4048800000000000\\(SB\\)"
230
252
// ppc64x/power10:"XXSPLTIDP\t[$]1111752704,"
@@ -244,11 +266,12 @@ func Float64DenormalFloat32Constant() float64 {
244
266
return 0x1p-127
245
267
}
246
268
247
- func Float64ConstantStore (p * float64 ) {
248
- // amd64: "MOVQ \t[$]4617801906721357038 "
269
+ func Float32ConstantStore (p * float32 ) {
270
+ // amd64:"MOVL \t[$]1085133554 "
249
271
* p = 5.432
250
272
}
251
- func Float32ConstantStore (p * float32 ) {
252
- // amd64: "MOVL\t[$]1085133554"
273
+
274
+ func Float64ConstantStore (p * float64 ) {
275
+ // amd64:"MOVQ\t[$]4617801906721357038"
253
276
* p = 5.432
254
277
}
0 commit comments