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  

View as plain text