@@ -4,91 +4,91 @@ use ::coresimd::simd::*;
4
4
/// LLVM intrinsics used in the max reduction
5
5
#[ allow( improper_ctypes) ]
6
6
extern "C" {
7
- #[ link_name = "llvm.experimental.vector.reduce.smax.i8.i8x2 " ]
7
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i8.v2i8 " ]
8
8
fn reduce_max_i8x2 ( x : i8x2 ) -> i8 ;
9
- #[ link_name = "llvm.experimental.vector.reduce.umax.u8.u8x2 " ]
9
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u8.v2u8 " ]
10
10
fn reduce_max_u8x2 ( x : u8x2 ) -> u8 ;
11
- #[ link_name = "llvm.experimental.vector.reduce.smax.i16.i16x2 " ]
11
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i16.v2i16 " ]
12
12
fn reduce_max_i16x2 ( x : i16x2 ) -> i16 ;
13
- #[ link_name = "llvm.experimental.vector.reduce.umax.u16.u16x2 " ]
13
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u16.v2u16 " ]
14
14
fn reduce_max_u16x2 ( x : u16x2 ) -> u16 ;
15
- #[ link_name = "llvm.experimental.vector.reduce.smax.i32.i32x2 " ]
15
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i32.v2i32 " ]
16
16
fn reduce_max_i32x2 ( x : i32x2 ) -> i32 ;
17
- #[ link_name = "llvm.experimental.vector.reduce.umax.u32.u32x2 " ]
17
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u32.v2u32 " ]
18
18
fn reduce_max_u32x2 ( x : u32x2 ) -> u32 ;
19
- #[ link_name = "llvm.experimental.vector.reduce.smax.i64.i64x2 " ]
19
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i64.v2i64 " ]
20
20
fn reduce_max_i64x2 ( x : i64x2 ) -> i64 ;
21
- #[ link_name = "llvm.experimental.vector.reduce.umax.u64.u64x2 " ]
21
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u64.v2u64 " ]
22
22
fn reduce_max_u64x2 ( x : u64x2 ) -> u64 ;
23
- #[ link_name = "llvm.experimental.vector.reduce.smax.i8.i8x4 " ]
23
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i8.v4i8 " ]
24
24
fn reduce_max_i8x4 ( x : i8x4 ) -> i8 ;
25
- #[ link_name = "llvm.experimental.vector.reduce.umax.u8.u8x4 " ]
25
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u8.v4u8 " ]
26
26
fn reduce_max_u8x4 ( x : u8x4 ) -> u8 ;
27
- #[ link_name = "llvm.experimental.vector.reduce.smax.i16.i16x4 " ]
27
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i16.v4i16 " ]
28
28
fn reduce_max_i16x4 ( x : i16x4 ) -> i16 ;
29
- #[ link_name = "llvm.experimental.vector.reduce.umax.u16.u16x4 " ]
29
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u16.v4u16 " ]
30
30
fn reduce_max_u16x4 ( x : u16x4 ) -> u16 ;
31
- #[ link_name = "llvm.experimental.vector.reduce.smax.i32.i32x4 " ]
31
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i32.v4i32 " ]
32
32
fn reduce_max_i32x4 ( x : i32x4 ) -> i32 ;
33
- #[ link_name = "llvm.experimental.vector.reduce.umax.u32.u32x4 " ]
33
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u32.v4u32 " ]
34
34
fn reduce_max_u32x4 ( x : u32x4 ) -> u32 ;
35
- #[ link_name = "llvm.experimental.vector.reduce.smax.i64.i64x4 " ]
35
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i64.v4i64 " ]
36
36
fn reduce_max_i64x4 ( x : i64x4 ) -> i64 ;
37
- #[ link_name = "llvm.experimental.vector.reduce.umax.u64.u64x4 " ]
37
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u64.v4u64 " ]
38
38
fn reduce_max_u64x4 ( x : u64x4 ) -> u64 ;
39
- #[ link_name = "llvm.experimental.vector.reduce.smax.i8.i8x8 " ]
39
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i8.v8i8 " ]
40
40
fn reduce_max_i8x8 ( x : i8x8 ) -> i8 ;
41
- #[ link_name = "llvm.experimental.vector.reduce.umax.u8.u8x8 " ]
41
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u8.v8u8 " ]
42
42
fn reduce_max_u8x8 ( x : u8x8 ) -> u8 ;
43
- #[ link_name = "llvm.experimental.vector.reduce.smax.i16.i16x8 " ]
43
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i16.v8i16 " ]
44
44
fn reduce_max_i16x8 ( x : i16x8 ) -> i16 ;
45
- #[ link_name = "llvm.experimental.vector.reduce.umax.u16.u16x8 " ]
45
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u16.v8u16 " ]
46
46
fn reduce_max_u16x8 ( x : u16x8 ) -> u16 ;
47
- #[ link_name = "llvm.experimental.vector.reduce.smax.i32.i32x8 " ]
47
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i32.v8i32 " ]
48
48
fn reduce_max_i32x8 ( x : i32x8 ) -> i32 ;
49
- #[ link_name = "llvm.experimental.vector.reduce.umax.u32.u32x8 " ]
49
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u32.v8u32 " ]
50
50
fn reduce_max_u32x8 ( x : u32x8 ) -> u32 ;
51
- #[ link_name = "llvm.experimental.vector.reduce.smax.i64.i64x8 " ]
51
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i64.v8i64 " ]
52
52
fn reduce_max_i64x8 ( x : i64x8 ) -> i64 ;
53
- #[ link_name = "llvm.experimental.vector.reduce.umax.u64.u64x8 " ]
53
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u64.v8u64 " ]
54
54
fn reduce_max_u64x8 ( x : u64x8 ) -> u64 ;
55
- #[ link_name = "llvm.experimental.vector.reduce.smax.i8.i8x16 " ]
55
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i8.v16i8 " ]
56
56
fn reduce_max_i8x16 ( x : i8x16 ) -> i8 ;
57
- #[ link_name = "llvm.experimental.vector.reduce.umax.u8.u8x16 " ]
57
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u8.v16u8 " ]
58
58
fn reduce_max_u8x16 ( x : u8x16 ) -> u8 ;
59
- #[ link_name = "llvm.experimental.vector.reduce.smax.i16.i16x16 " ]
59
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i16.v16i16 " ]
60
60
fn reduce_max_i16x16 ( x : i16x16 ) -> i16 ;
61
- #[ link_name = "llvm.experimental.vector.reduce.umax.u16.u16x16 " ]
61
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u16.v16u16 " ]
62
62
fn reduce_max_u16x16 ( x : u16x16 ) -> u16 ;
63
- #[ link_name = "llvm.experimental.vector.reduce.smax.i32.i32x16 " ]
63
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i32.v16i32 " ]
64
64
fn reduce_max_i32x16 ( x : i32x16 ) -> i32 ;
65
- #[ link_name = "llvm.experimental.vector.reduce.umax.u32.u32x16 " ]
65
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u32.v16u32 " ]
66
66
fn reduce_max_u32x16 ( x : u32x16 ) -> u32 ;
67
- #[ link_name = "llvm.experimental.vector.reduce.smax.i8.i8x32 " ]
67
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i8.v32i8 " ]
68
68
fn reduce_max_i8x32 ( x : i8x32 ) -> i8 ;
69
- #[ link_name = "llvm.experimental.vector.reduce.umax.u8.u8x32 " ]
69
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u8.v32u8 " ]
70
70
fn reduce_max_u8x32 ( x : u8x32 ) -> u8 ;
71
- #[ link_name = "llvm.experimental.vector.reduce.smax.i16.i16x32 " ]
71
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i16.v32i16 " ]
72
72
fn reduce_max_i16x32 ( x : i16x32 ) -> i16 ;
73
- #[ link_name = "llvm.experimental.vector.reduce.umax.u16.u16x32 " ]
73
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u16.v32u16 " ]
74
74
fn reduce_max_u16x32 ( x : u16x32 ) -> u16 ;
75
- #[ link_name = "llvm.experimental.vector.reduce.smax.i8.i8x64 " ]
75
+ #[ link_name = "llvm.experimental.vector.reduce.smax.i8.v64i8 " ]
76
76
fn reduce_max_i8x64 ( x : i8x64 ) -> i8 ;
77
- #[ link_name = "llvm.experimental.vector.reduce.umax.u8.u8x64 " ]
77
+ #[ link_name = "llvm.experimental.vector.reduce.umax.u8.v64u8 " ]
78
78
fn reduce_max_u8x64 ( x : u8x64 ) -> u8 ;
79
- #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.f32x2 " ]
79
+ #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.v2f32 " ]
80
80
fn reduce_fmax_f32x2 ( x : f32x2 ) -> f32 ;
81
- #[ link_name = "llvm.experimental.vector.reduce.fmax.f64.f64x2 " ]
81
+ #[ link_name = "llvm.experimental.vector.reduce.fmax.f64.v2f64 " ]
82
82
fn reduce_fmax_f64x2 ( x : f64x2 ) -> f64 ;
83
- #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.f32x4 " ]
83
+ #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.v4f32 " ]
84
84
fn reduce_fmax_f32x4 ( x : f32x4 ) -> f32 ;
85
- #[ link_name = "llvm.experimental.vector.reduce.fmax.f64.f64x4 " ]
85
+ #[ link_name = "llvm.experimental.vector.reduce.fmax.f64.v4f64 " ]
86
86
fn reduce_fmax_f64x4 ( x : f64x4 ) -> f64 ;
87
- #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.f32x8 " ]
87
+ #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.v8f32 " ]
88
88
fn reduce_fmax_f32x8 ( x : f32x8 ) -> f32 ;
89
- #[ link_name = "llvm.experimental.vector.reduce.fmax.f64.f64x8 " ]
89
+ #[ link_name = "llvm.experimental.vector.reduce.fmax.f64.v8f64 " ]
90
90
fn reduce_fmax_f64x8 ( x : f64x8 ) -> f64 ;
91
- #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.f32x16 " ]
91
+ #[ link_name = "llvm.experimental.vector.reduce.fmax.f32.v16f32 " ]
92
92
fn reduce_fmax_f32x16 ( x : f32x16 ) -> f32 ;
93
93
}
94
94
0 commit comments