]> git.proxmox.com Git - ceph.git/blame - ceph/src/arrow/go/arrow/math/math_amd64.go
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / go / arrow / math / math_amd64.go
CommitLineData
1d09f67e
TL
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// +build !noasm
18
19package math
20
21import (
22 "github.com/apache/arrow/go/v6/arrow/internal/cpu"
23)
24
25func init() {
26 if cpu.X86.HasAVX2 {
27 initAVX2()
28 } else if cpu.X86.HasSSE42 {
29 initSSE4()
30 } else {
31 initGo()
32 }
33}
34
35func initAVX2() {
36 initFloat64AVX2()
37 initInt64AVX2()
38 initUint64AVX2()
39}
40
41func initSSE4() {
42 initFloat64SSE4()
43 initInt64SSE4()
44 initUint64SSE4()
45}
46
47func initGo() {
48 initFloat64Go()
49 initInt64Go()
50 initUint64Go()
51}