@@ -27,6 +27,121 @@ pub fn find(name: &str) -> Option<Intrinsic> {
27
27
output : & :: I32x4 ,
28
28
definition : Named ( "llvm.ppc.altivec.vperm" )
29
29
} ,
30
+ "_vec_mradds" => Intrinsic {
31
+ inputs : { static INPUTS : [ & ' static Type ; 3 ] = [ & :: I16x8 , & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
32
+ output : & :: I16x8 ,
33
+ definition : Named ( "llvm.ppc.altivec.vmhraddshs" )
34
+ } ,
35
+ "_vec_cmpb" => Intrinsic {
36
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: F32x4 , & :: F32x4 ] ; & INPUTS } ,
37
+ output : & :: I32x4 ,
38
+ definition : Named ( "llvm.ppc.altivec.vcmpbfp" )
39
+ } ,
40
+ "_vec_cmpeqb" => Intrinsic {
41
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
42
+ output : & :: I8x16 ,
43
+ definition : Named ( "llvm.ppc.altivec.vcmpequb" )
44
+ } ,
45
+ "_vec_cmpeqh" => Intrinsic {
46
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
47
+ output : & :: I16x8 ,
48
+ definition : Named ( "llvm.ppc.altivec.vcmpequh" )
49
+ } ,
50
+ "_vec_cmpeqw" => Intrinsic {
51
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I32x4 , & :: I32x4 ] ; & INPUTS } ,
52
+ output : & :: I32x4 ,
53
+ definition : Named ( "llvm.ppc.altivec.vcmpequw" )
54
+ } ,
55
+ "_vec_cmpgtub" => Intrinsic {
56
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
57
+ output : & :: I8x16 ,
58
+ definition : Named ( "llvm.ppc.altivec.vcmpgtub" )
59
+ } ,
60
+ "_vec_cmpgtuh" => Intrinsic {
61
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
62
+ output : & :: I16x8 ,
63
+ definition : Named ( "llvm.ppc.altivec.vcmpgtuh" )
64
+ } ,
65
+ "_vec_cmpgtuw" => Intrinsic {
66
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
67
+ output : & :: I32x4 ,
68
+ definition : Named ( "llvm.ppc.altivec.vcmpgtuw" )
69
+ } ,
70
+ "_vec_cmpgtsb" => Intrinsic {
71
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
72
+ output : & :: I8x16 ,
73
+ definition : Named ( "llvm.ppc.altivec.vcmpgtsb" )
74
+ } ,
75
+ "_vec_cmpgtsh" => Intrinsic {
76
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
77
+ output : & :: I16x8 ,
78
+ definition : Named ( "llvm.ppc.altivec.vcmpgtsh" )
79
+ } ,
80
+ "_vec_cmpgtsw" => Intrinsic {
81
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I32x4 , & :: I32x4 ] ; & INPUTS } ,
82
+ output : & :: I32x4 ,
83
+ definition : Named ( "llvm.ppc.altivec.vcmpgtsw" )
84
+ } ,
85
+ "_vec_maxsb" => Intrinsic {
86
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
87
+ output : & :: I8x16 ,
88
+ definition : Named ( "llvm.ppc.altivec.vmaxsb" )
89
+ } ,
90
+ "_vec_maxub" => Intrinsic {
91
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
92
+ output : & :: U8x16 ,
93
+ definition : Named ( "llvm.ppc.altivec.vmaxub" )
94
+ } ,
95
+ "_vec_maxsh" => Intrinsic {
96
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
97
+ output : & :: I16x8 ,
98
+ definition : Named ( "llvm.ppc.altivec.vmaxsh" )
99
+ } ,
100
+ "_vec_maxuh" => Intrinsic {
101
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
102
+ output : & :: U16x8 ,
103
+ definition : Named ( "llvm.ppc.altivec.vmaxuh" )
104
+ } ,
105
+ "_vec_maxsw" => Intrinsic {
106
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I32x4 , & :: I32x4 ] ; & INPUTS } ,
107
+ output : & :: I32x4 ,
108
+ definition : Named ( "llvm.ppc.altivec.vmaxsw" )
109
+ } ,
110
+ "_vec_maxuw" => Intrinsic {
111
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
112
+ output : & :: U32x4 ,
113
+ definition : Named ( "llvm.ppc.altivec.vmaxuw" )
114
+ } ,
115
+ "_vec_minsb" => Intrinsic {
116
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
117
+ output : & :: I8x16 ,
118
+ definition : Named ( "llvm.ppc.altivec.vminsb" )
119
+ } ,
120
+ "_vec_minub" => Intrinsic {
121
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
122
+ output : & :: U8x16 ,
123
+ definition : Named ( "llvm.ppc.altivec.vminub" )
124
+ } ,
125
+ "_vec_minsh" => Intrinsic {
126
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
127
+ output : & :: I16x8 ,
128
+ definition : Named ( "llvm.ppc.altivec.vminsh" )
129
+ } ,
130
+ "_vec_minuh" => Intrinsic {
131
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
132
+ output : & :: U16x8 ,
133
+ definition : Named ( "llvm.ppc.altivec.vminuh" )
134
+ } ,
135
+ "_vec_minsw" => Intrinsic {
136
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I32x4 , & :: I32x4 ] ; & INPUTS } ,
137
+ output : & :: I32x4 ,
138
+ definition : Named ( "llvm.ppc.altivec.vminsw" )
139
+ } ,
140
+ "_vec_minuw" => Intrinsic {
141
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
142
+ output : & :: U32x4 ,
143
+ definition : Named ( "llvm.ppc.altivec.vminuw" )
144
+ } ,
30
145
_ => return None ,
31
146
} )
32
147
}
0 commit comments