github.com/apache/arrow/go/v14@v14.0.1/arrow/compute/internal/kernels/scalar_comparison_sse4_amd64.go (about)

     1  // Licensed to the Apache Software Foundation (ASF) under one
     2  // or more contributor license agreements.  See the NOTICE file
     3  // distributed with this work for additional information
     4  // regarding copyright ownership.  The ASF licenses this file
     5  // to you under the Apache License, Version 2.0 (the
     6  // "License"); you may not use this file except in compliance
     7  // with the License.  You may obtain a copy of the License at
     8  //
     9  // http://www.apache.org/licenses/LICENSE-2.0
    10  //
    11  // Unless required by applicable law or agreed to in writing, software
    12  // distributed under the License is distributed on an "AS IS" BASIS,
    13  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  // See the License for the specific language governing permissions and
    15  // limitations under the License.
    16  
    17  //go:build go1.18 && !noasm
    18  
    19  package kernels
    20  
    21  import (
    22  	"unsafe"
    23  
    24  	"github.com/apache/arrow/go/v14/arrow"
    25  )
    26  
    27  //go:noescape
    28  func _comparison_equal_arr_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    29  
    30  func comparisonEqualArrArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    31  	_comparison_equal_arr_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    32  }
    33  
    34  //go:noescape
    35  func _comparison_equal_arr_scalar_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    36  
    37  func comparisonEqualArrScalarSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    38  	_comparison_equal_arr_scalar_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    39  }
    40  
    41  //go:noescape
    42  func _comparison_equal_scalar_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    43  
    44  func comparisonEqualScalarArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    45  	_comparison_equal_scalar_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    46  }
    47  
    48  //go:noescape
    49  func _comparison_not_equal_arr_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    50  
    51  func comparisonNotEqualArrArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    52  	_comparison_not_equal_arr_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    53  }
    54  
    55  //go:noescape
    56  func _comparison_not_equal_arr_scalar_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    57  
    58  func comparisonNotEqualArrScalarSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    59  	_comparison_not_equal_arr_scalar_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    60  }
    61  
    62  //go:noescape
    63  func _comparison_not_equal_scalar_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    64  
    65  func comparisonNotEqualScalarArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    66  	_comparison_not_equal_scalar_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    67  }
    68  
    69  //go:noescape
    70  func _comparison_greater_arr_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    71  
    72  func comparisonGreaterArrArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    73  	_comparison_greater_arr_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    74  }
    75  
    76  //go:noescape
    77  func _comparison_greater_arr_scalar_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    78  
    79  func comparisonGreaterArrScalarSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    80  	_comparison_greater_arr_scalar_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    81  }
    82  
    83  //go:noescape
    84  func _comparison_greater_scalar_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    85  
    86  func comparisonGreaterScalarArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    87  	_comparison_greater_scalar_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    88  }
    89  
    90  //go:noescape
    91  func _comparison_greater_equal_arr_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    92  
    93  func comparisonGreaterEqualArrArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
    94  	_comparison_greater_equal_arr_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
    95  }
    96  
    97  //go:noescape
    98  func _comparison_greater_equal_arr_scalar_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
    99  
   100  func comparisonGreaterEqualArrScalarSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
   101  	_comparison_greater_equal_arr_scalar_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
   102  }
   103  
   104  //go:noescape
   105  func _comparison_greater_equal_scalar_arr_sse4(typ int, left, right, out unsafe.Pointer, length int64, offset int)
   106  
   107  func comparisonGreaterEqualScalarArrSSE4(typ arrow.Type, left, right, out []byte, length int64, offset int) {
   108  	_comparison_greater_equal_scalar_arr_sse4(int(typ), unsafe.Pointer(&left[0]), unsafe.Pointer(&right[0]), unsafe.Pointer(&out[0]), length, offset)
   109  }