@@ -76,53 +76,53 @@ where
76
76
}
77
77
78
78
extern "platform-intrinsic" {
79
- crate fn simd_eq < T , U > ( x : T , y : T ) -> U ;
80
- crate fn simd_ne < T , U > ( x : T , y : T ) -> U ;
81
- crate fn simd_lt < T , U > ( x : T , y : T ) -> U ;
82
- crate fn simd_le < T , U > ( x : T , y : T ) -> U ;
83
- crate fn simd_gt < T , U > ( x : T , y : T ) -> U ;
84
- crate fn simd_ge < T , U > ( x : T , y : T ) -> U ;
85
-
86
- crate fn simd_insert < T , U > ( x : T , idx : u32 , val : U ) -> T ;
87
- crate fn simd_extract < T , U > ( x : T , idx : u32 ) -> U ;
88
-
89
- crate fn simd_cast < T , U > ( x : T ) -> U ;
90
-
91
- crate fn simd_add < T > ( x : T , y : T ) -> T ;
92
- crate fn simd_sub < T > ( x : T , y : T ) -> T ;
93
- crate fn simd_mul < T > ( x : T , y : T ) -> T ;
94
- crate fn simd_div < T > ( x : T , y : T ) -> T ;
95
- crate fn simd_rem < T > ( x : T , y : T ) -> T ;
96
- crate fn simd_shl < T > ( x : T , y : T ) -> T ;
97
- crate fn simd_shr < T > ( x : T , y : T ) -> T ;
98
- crate fn simd_and < T > ( x : T , y : T ) -> T ;
99
- crate fn simd_or < T > ( x : T , y : T ) -> T ;
100
- crate fn simd_xor < T > ( x : T , y : T ) -> T ;
101
-
102
- crate fn simd_reduce_add_unordered < T , U > ( x : T ) -> U ;
103
- crate fn simd_reduce_mul_unordered < T , U > ( x : T ) -> U ;
104
- crate fn simd_reduce_add_ordered < T , U > ( x : T , acc : U ) -> U ;
105
- crate fn simd_reduce_mul_ordered < T , U > ( x : T , acc : U ) -> U ;
106
- crate fn simd_reduce_min < T , U > ( x : T ) -> U ;
107
- crate fn simd_reduce_max < T , U > ( x : T ) -> U ;
108
- crate fn simd_reduce_min_nanless < T , U > ( x : T ) -> U ;
109
- crate fn simd_reduce_max_nanless < T , U > ( x : T ) -> U ;
110
- crate fn simd_reduce_and < T , U > ( x : T ) -> U ;
111
- crate fn simd_reduce_or < T , U > ( x : T ) -> U ;
112
- crate fn simd_reduce_xor < T , U > ( x : T ) -> U ;
113
- crate fn simd_reduce_all < T > ( x : T ) -> bool ;
114
- crate fn simd_reduce_any < T > ( x : T ) -> bool ;
115
-
116
- crate fn simd_select < M , T > ( m : M , a : T , b : T ) -> T ;
117
-
118
- crate fn simd_fmin < T > ( a : T , b : T ) -> T ;
119
- crate fn simd_fmax < T > ( a : T , b : T ) -> T ;
120
-
121
- crate fn simd_fsqrt < T > ( a : T ) -> T ;
122
- crate fn simd_fma < T > ( a : T , b : T , c : T ) -> T ;
123
-
124
- crate fn simd_gather < T , P , M > ( value : T , pointers : P , mask : M ) -> T ;
125
- crate fn simd_scatter < T , P , M > ( value : T , pointers : P , mask : M ) ;
126
-
127
- crate fn simd_bitmask < T , U > ( value : T ) -> U ;
79
+ pub ( crate ) fn simd_eq < T , U > ( x : T , y : T ) -> U ;
80
+ pub ( crate ) fn simd_ne < T , U > ( x : T , y : T ) -> U ;
81
+ pub ( crate ) fn simd_lt < T , U > ( x : T , y : T ) -> U ;
82
+ pub ( crate ) fn simd_le < T , U > ( x : T , y : T ) -> U ;
83
+ pub ( crate ) fn simd_gt < T , U > ( x : T , y : T ) -> U ;
84
+ pub ( crate ) fn simd_ge < T , U > ( x : T , y : T ) -> U ;
85
+
86
+ pub ( crate ) fn simd_insert < T , U > ( x : T , idx : u32 , val : U ) -> T ;
87
+ pub ( crate ) fn simd_extract < T , U > ( x : T , idx : u32 ) -> U ;
88
+
89
+ pub ( crate ) fn simd_cast < T , U > ( x : T ) -> U ;
90
+
91
+ pub ( crate ) fn simd_add < T > ( x : T , y : T ) -> T ;
92
+ pub ( crate ) fn simd_sub < T > ( x : T , y : T ) -> T ;
93
+ pub ( crate ) fn simd_mul < T > ( x : T , y : T ) -> T ;
94
+ pub ( crate ) fn simd_div < T > ( x : T , y : T ) -> T ;
95
+ pub ( crate ) fn simd_rem < T > ( x : T , y : T ) -> T ;
96
+ pub ( crate ) fn simd_shl < T > ( x : T , y : T ) -> T ;
97
+ pub ( crate ) fn simd_shr < T > ( x : T , y : T ) -> T ;
98
+ pub ( crate ) fn simd_and < T > ( x : T , y : T ) -> T ;
99
+ pub ( crate ) fn simd_or < T > ( x : T , y : T ) -> T ;
100
+ pub ( crate ) fn simd_xor < T > ( x : T , y : T ) -> T ;
101
+
102
+ pub ( crate ) fn simd_reduce_add_unordered < T , U > ( x : T ) -> U ;
103
+ pub ( crate ) fn simd_reduce_mul_unordered < T , U > ( x : T ) -> U ;
104
+ pub ( crate ) fn simd_reduce_add_ordered < T , U > ( x : T , acc : U ) -> U ;
105
+ pub ( crate ) fn simd_reduce_mul_ordered < T , U > ( x : T , acc : U ) -> U ;
106
+ pub ( crate ) fn simd_reduce_min < T , U > ( x : T ) -> U ;
107
+ pub ( crate ) fn simd_reduce_max < T , U > ( x : T ) -> U ;
108
+ pub ( crate ) fn simd_reduce_min_nanless < T , U > ( x : T ) -> U ;
109
+ pub ( crate ) fn simd_reduce_max_nanless < T , U > ( x : T ) -> U ;
110
+ pub ( crate ) fn simd_reduce_and < T , U > ( x : T ) -> U ;
111
+ pub ( crate ) fn simd_reduce_or < T , U > ( x : T ) -> U ;
112
+ pub ( crate ) fn simd_reduce_xor < T , U > ( x : T ) -> U ;
113
+ pub ( crate ) fn simd_reduce_all < T > ( x : T ) -> bool ;
114
+ pub ( crate ) fn simd_reduce_any < T > ( x : T ) -> bool ;
115
+
116
+ pub ( crate ) fn simd_select < M , T > ( m : M , a : T , b : T ) -> T ;
117
+
118
+ pub ( crate ) fn simd_fmin < T > ( a : T , b : T ) -> T ;
119
+ pub ( crate ) fn simd_fmax < T > ( a : T , b : T ) -> T ;
120
+
121
+ pub ( crate ) fn simd_fsqrt < T > ( a : T ) -> T ;
122
+ pub ( crate ) fn simd_fma < T > ( a : T , b : T , c : T ) -> T ;
123
+
124
+ pub ( crate ) fn simd_gather < T , P , M > ( value : T , pointers : P , mask : M ) -> T ;
125
+ pub ( crate ) fn simd_scatter < T , P , M > ( value : T , pointers : P , mask : M ) ;
126
+
127
+ pub ( crate ) fn simd_bitmask < T , U > ( value : T ) -> U ;
128
128
}
0 commit comments