Source file 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 } 24