Source file src/simd/archsimd/deprecated_arm64.go
1 // Copyright 2026 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 goexperiment.simd && arm64 6 7 package archsimd 8 9 // Deprecated operations that are wrappers around their replacements. 10 11 // ExtendLo8ToInt16 sign-extends the low 8 elements of x to int16. 12 // 13 // z[i] = int16(x[i]) 14 // 15 // Asm: VSXTL 16 // 17 // Deprecated: use x.ExtendToInt16() instead. 18 // 19 //go:fix inline 20 func (x Int8x16) ExtendLo8ToInt16() (z Int16x8) { 21 return x.ExtendToInt16() 22 } 23 24 // ExtendLo4ToInt32 sign-extends the low 4 elements of x to int32. 25 // 26 // z[i] = int32(x[i]) 27 // 28 // Asm: VSXTL 29 // 30 // Deprecated: use x.ExtendToInt32() instead. 31 // 32 //go:fix inline 33 func (x Int16x8) ExtendLo4ToInt32() (z Int32x4) { 34 return x.ExtendToInt32() 35 } 36 37 // ExtendLo2ToInt64 sign-extends the low 2 elements of x to int64. 38 // 39 // z[i] = int64(x[i]) 40 // 41 // Asm: VSXTL 42 // 43 // Deprecated: use x.ExtendToInt64() instead. 44 // 45 //go:fix inline 46 func (x Int32x4) ExtendLo2ToInt64() (z Int64x2) { 47 return x.ExtendToInt64() 48 } 49 50 // ExtendLo8ToUint16 zero-extends the low 8 elements of x to uint16. 51 // 52 // z[i] = uint16(x[i]) 53 // 54 // Asm: VUXTL 55 // 56 // Deprecated: use x.ExtendToUint16() instead. 57 // 58 //go:fix inline 59 func (x Uint8x16) ExtendLo8ToUint16() (z Uint16x8) { 60 return x.ExtendToUint16() 61 } 62 63 // ExtendLo4ToUint32 zero-extends the low 4 elements of x to uint32. 64 // 65 // z[i] = uint32(x[i]) 66 // 67 // Asm: VUXTL 68 // 69 // Deprecated: use x.ExtendToUint32() instead. 70 // 71 //go:fix inline 72 func (x Uint16x8) ExtendLo4ToUint32() (z Uint32x4) { 73 return x.ExtendToUint32() 74 } 75 76 // ExtendLo2ToUint64 zero-extends the low 2 elements of x to uint64. 77 // 78 // z[i] = uint64(x[i]) 79 // 80 // Asm: VUXTL 81 // 82 // Deprecated: use x.ExtendToUint64() instead. 83 // 84 //go:fix inline 85 func (x Uint32x4) ExtendLo2ToUint64() (z Uint64x2) { 86 return x.ExtendToUint64() 87 } 88 89 // ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64. 90 // 91 // z[i] = float64(x[i]) 92 // 93 // Asm: VFCVTL 94 // 95 // Deprecated: use x.ConvertToFloat64() instead. 96 // 97 //go:fix inline 98 func (x Float32x4) ConvertLo2ToFloat64() (z Float64x2) { 99 return x.ConvertToFloat64() 100 } 101