]> Cypherpunks.ru repositories - gostls13.git/blob - src/reflect/float32reg_generic.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / src / reflect / float32reg_generic.go
1 // Copyright 2021 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 //go:build !ppc64 && !ppc64le && !riscv64
6
7 package reflect
8
9 import "unsafe"
10
11 // This file implements a straightforward conversion of a float32
12 // value into its representation in a register. This conversion
13 // applies for amd64 and arm64. It is also chosen for the case of
14 // zero argument registers, but is not used.
15
16 func archFloat32FromReg(reg uint64) float32 {
17         i := uint32(reg)
18         return *(*float32)(unsafe.Pointer(&i))
19 }
20
21 func archFloat32ToReg(val float32) uint64 {
22         return uint64(*(*uint32)(unsafe.Pointer(&val)))
23 }