Lines Matching refs:vB
318 : VXForm_1<xo, (outs vrrc:$vD), (ins vrrc:$vDi, gprc:$rA, vrrc:$vB),
319 !strconcat(opc, " $vD, $rA, $vB"), IIC_VecGeneral, pattern>,
1923 defm VSTRIBR : VXForm_VTB5_RCr<13, 1, (outs vrrc:$vT), (ins vrrc:$vB),
1924 "vstribr", "$vT, $vB", IIC_VecGeneral,
1926 (int_ppc_altivec_vstribr v16i8:$vB))]>;
1927 defm VSTRIBL : VXForm_VTB5_RCr<13, 0, (outs vrrc:$vT), (ins vrrc:$vB),
1928 "vstribl", "$vT, $vB", IIC_VecGeneral,
1930 (int_ppc_altivec_vstribl v16i8:$vB))]>;
1931 defm VSTRIHR : VXForm_VTB5_RCr<13, 3, (outs vrrc:$vT), (ins vrrc:$vB),
1932 "vstrihr", "$vT, $vB", IIC_VecGeneral,
1934 (int_ppc_altivec_vstrihr v8i16:$vB))]>;
1935 defm VSTRIHL : VXForm_VTB5_RCr<13, 2, (outs vrrc:$vT), (ins vrrc:$vB),
1936 "vstrihl", "$vT, $vB", IIC_VecGeneral,
1938 (int_ppc_altivec_vstrihl v8i16:$vB))]>;
1955 v16i8:$vB))]>;
1960 v16i8:$vB))]>;
1965 v8i16:$vB))]>;
1970 v8i16:$vB))]>;
1975 v4i32:$vB))]>;
1980 v4i32:$vB))]>;
2023 def VEXTRACTBM : VXForm_RD5_XO5_RS5<1602, 8, (outs gprc:$rD), (ins vrrc:$vB),
2024 "vextractbm $rD, $vB", IIC_VecGeneral,
2026 (int_ppc_altivec_vextractbm v16i8:$vB))]>;
2027 def VEXTRACTHM : VXForm_RD5_XO5_RS5<1602, 9, (outs gprc:$rD), (ins vrrc:$vB),
2028 "vextracthm $rD, $vB", IIC_VecGeneral,
2030 (int_ppc_altivec_vextracthm v8i16:$vB))]>;
2031 def VEXTRACTWM : VXForm_RD5_XO5_RS5<1602, 10, (outs gprc:$rD), (ins vrrc:$vB),
2032 "vextractwm $rD, $vB", IIC_VecGeneral,
2034 (int_ppc_altivec_vextractwm v4i32:$vB))]>;
2035 def VEXTRACTDM : VXForm_RD5_XO5_RS5<1602, 11, (outs gprc:$rD), (ins vrrc:$vB),
2036 "vextractdm $rD, $vB", IIC_VecGeneral,
2038 (int_ppc_altivec_vextractdm v2i64:$vB))]>;
2039 def VEXTRACTQM : VXForm_RD5_XO5_RS5<1602, 12, (outs gprc:$rD), (ins vrrc:$vB),
2040 "vextractqm $rD, $vB", IIC_VecGeneral,
2042 (int_ppc_altivec_vextractqm v1i128:$vB))]>;
2043 def VEXPANDBM : VXForm_RD5_XO5_RS5<1602, 0, (outs vrrc:$vD), (ins vrrc:$vB),
2044 "vexpandbm $vD, $vB", IIC_VecGeneral,
2046 v16i8:$vB))]>;
2047 def VEXPANDHM : VXForm_RD5_XO5_RS5<1602, 1, (outs vrrc:$vD), (ins vrrc:$vB),
2048 "vexpandhm $vD, $vB", IIC_VecGeneral,
2050 v8i16:$vB))]>;
2051 def VEXPANDWM : VXForm_RD5_XO5_RS5<1602, 2, (outs vrrc:$vD), (ins vrrc:$vB),
2052 "vexpandwm $vD, $vB", IIC_VecGeneral,
2054 v4i32:$vB))]>;
2055 def VEXPANDDM : VXForm_RD5_XO5_RS5<1602, 3, (outs vrrc:$vD), (ins vrrc:$vB),
2056 "vexpanddm $vD, $vB", IIC_VecGeneral,
2058 v2i64:$vB))]>;
2059 def VEXPANDQM : VXForm_RD5_XO5_RS5<1602, 4, (outs vrrc:$vD), (ins vrrc:$vB),
2060 "vexpandqm $vD, $vB", IIC_VecGeneral,
2062 v1i128:$vB))]>;
2088 (ins vrrc:$vB, u1imm:$MP),
2089 "vcntmbb $rD, $vB, $MP", IIC_VecGeneral,
2091 v16i8:$vB, timm:$MP))]>;
2093 (ins vrrc:$vB, u1imm:$MP),
2094 "vcntmbh $rD, $vB, $MP", IIC_VecGeneral,
2096 v8i16:$vB, timm:$MP))]>;
2098 (ins vrrc:$vB, u1imm:$MP),
2099 "vcntmbw $rD, $vB, $MP", IIC_VecGeneral,
2101 v4i32:$vB, timm:$MP))]>;
2103 (ins vrrc:$vB, u1imm:$MP),
2104 "vcntmbd $rD, $vB, $MP", IIC_VecGeneral,
2106 v2i64:$vB, timm:$MP))]>;
2108 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2109 "vextdubvlx $vD, $vA, $vB, $rC",
2113 v16i8:$vB,
2116 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2117 "vextdubvrx $vD, $vA, $vB, $rC",
2121 v16i8:$vB,
2124 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2125 "vextduhvlx $vD, $vA, $vB, $rC",
2129 v8i16:$vB,
2132 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2133 "vextduhvrx $vD, $vA, $vB, $rC",
2137 v8i16:$vB,
2140 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2141 "vextduwvlx $vD, $vA, $vB, $rC",
2145 v4i32:$vB,
2148 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2149 "vextduwvrx $vD, $vA, $vB, $rC",
2153 v4i32:$vB,
2156 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2157 "vextddvlx $vD, $vA, $vB, $rC",
2161 v2i64:$vB,
2164 (ins vrrc:$vA, vrrc:$vB, gprc:$rC),
2165 "vextddvrx $vD, $vA, $vB, $rC",
2169 v2i64:$vB,
2171 def VPDEPD : VXForm_1<1485, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2172 "vpdepd $vD, $vA, $vB", IIC_VecGeneral,
2174 (int_ppc_altivec_vpdepd v2i64:$vA, v2i64:$vB))]>;
2175 def VPEXTD : VXForm_1<1421, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2176 "vpextd $vD, $vA, $vB", IIC_VecGeneral,
2178 (int_ppc_altivec_vpextd v2i64:$vA, v2i64:$vB))]>;
2185 def VCFUGED : VXForm_1<1357, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2186 "vcfuged $vD, $vA, $vB", IIC_VecGeneral,
2188 (int_ppc_altivec_vcfuged v2i64:$vA, v2i64:$vB))]>;
2189 def VGNB : VXForm_RD5_N3_VB5<1228, (outs g8rc:$rD), (ins vrrc:$vB, u3imm:$N),
2190 "vgnb $rD, $vB, $N", IIC_VecGeneral,
2192 (int_ppc_altivec_vgnb v1i128:$vB, timm:$N))]>;
2202 def VCLZDM : VXForm_1<1924, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2203 "vclzdm $vD, $vA, $vB", IIC_VecGeneral,
2205 (int_ppc_altivec_vclzdm v2i64:$vA, v2i64:$vB))]>;
2206 def VCTZDM : VXForm_1<1988, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2207 "vctzdm $vD, $vA, $vB", IIC_VecGeneral,
2209 (int_ppc_altivec_vctzdm v2i64:$vA, v2i64:$vB))]>;
2238 def VMULLD : VXForm_1<457, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2239 "vmulld $vD, $vA, $vB", IIC_VecGeneral,
2240 [(set v2i64:$vD, (mul v2i64:$vA, v2i64:$vB))]>;
2241 def VMULHSW : VXForm_1<905, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2242 "vmulhsw $vD, $vA, $vB", IIC_VecGeneral,
2243 [(set v4i32:$vD, (mulhs v4i32:$vA, v4i32:$vB))]>;
2244 def VMULHUW : VXForm_1<649, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2245 "vmulhuw $vD, $vA, $vB", IIC_VecGeneral,
2246 [(set v4i32:$vD, (mulhu v4i32:$vA, v4i32:$vB))]>;
2247 def VMULHSD : VXForm_1<969, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2248 "vmulhsd $vD, $vA, $vB", IIC_VecGeneral,
2249 [(set v2i64:$vD, (mulhs v2i64:$vA, v2i64:$vB))]>;
2250 def VMULHUD : VXForm_1<713, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2251 "vmulhud $vD, $vA, $vB", IIC_VecGeneral,
2252 [(set v2i64:$vD, (mulhu v2i64:$vA, v2i64:$vB))]>;
2253 def VMODSW : VXForm_1<1931, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2254 "vmodsw $vD, $vA, $vB", IIC_VecGeneral,
2255 [(set v4i32:$vD, (srem v4i32:$vA, v4i32:$vB))]>;
2256 def VMODUW : VXForm_1<1675, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2257 "vmoduw $vD, $vA, $vB", IIC_VecGeneral,
2258 [(set v4i32:$vD, (urem v4i32:$vA, v4i32:$vB))]>;
2259 def VMODSD : VXForm_1<1995, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2260 "vmodsd $vD, $vA, $vB", IIC_VecGeneral,
2261 [(set v2i64:$vD, (srem v2i64:$vA, v2i64:$vB))]>;
2262 def VMODUD : VXForm_1<1739, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2263 "vmodud $vD, $vA, $vB", IIC_VecGeneral,
2264 [(set v2i64:$vD, (urem v2i64:$vA, v2i64:$vB))]>;
2265 def VDIVSW : VXForm_1<395, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2266 "vdivsw $vD, $vA, $vB", IIC_VecGeneral,
2267 [(set v4i32:$vD, (sdiv v4i32:$vA, v4i32:$vB))]>;
2268 def VDIVUW : VXForm_1<139, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2269 "vdivuw $vD, $vA, $vB", IIC_VecGeneral,
2270 [(set v4i32:$vD, (udiv v4i32:$vA, v4i32:$vB))]>;
2271 def VDIVSD : VXForm_1<459, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2272 "vdivsd $vD, $vA, $vB", IIC_VecGeneral,
2273 [(set v2i64:$vD, (sdiv v2i64:$vA, v2i64:$vB))]>;
2274 def VDIVUD : VXForm_1<203, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2275 "vdivud $vD, $vA, $vB", IIC_VecGeneral,
2276 [(set v2i64:$vD, (udiv v2i64:$vA, v2i64:$vB))]>;
2277 def VDIVESW : VXForm_1<907, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2278 "vdivesw $vD, $vA, $vB", IIC_VecGeneral,
2280 v4i32:$vB))]>;
2281 def VDIVEUW : VXForm_1<651, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2282 "vdiveuw $vD, $vA, $vB", IIC_VecGeneral,
2284 v4i32:$vB))]>;
2285 def VDIVESD : VXForm_1<971, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2286 "vdivesd $vD, $vA, $vB", IIC_VecGeneral,
2288 v2i64:$vB))]>;
2289 def VDIVEUD : VXForm_1<715, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2290 "vdiveud $vD, $vA, $vB", IIC_VecGeneral,
2292 v2i64:$vB))]>;
2312 def VMULESD : VXForm_1<968, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2313 "vmulesd $vD, $vA, $vB", IIC_VecGeneral,
2315 v2i64:$vB))]>;
2316 def VMULEUD : VXForm_1<712, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2317 "vmuleud $vD, $vA, $vB", IIC_VecGeneral,
2319 v2i64:$vB))]>;
2320 def VMULOSD : VXForm_1<456, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2321 "vmulosd $vD, $vA, $vB", IIC_VecGeneral,
2323 v2i64:$vB))]>;
2324 def VMULOUD : VXForm_1<200, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2325 "vmuloud $vD, $vA, $vB", IIC_VecGeneral,
2327 v2i64:$vB))]>;
2328 def VMSUMCUD : VAForm_1a<23, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB, vrrc:$vC),
2329 "vmsumcud $vD, $vA, $vB, $vC", IIC_VecGeneral,
2331 v2i64:$vA, v2i64:$vB, v1i128:$vC))]>;
2332 def VDIVSQ : VXForm_1<267, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2333 "vdivsq $vD, $vA, $vB", IIC_VecGeneral,
2334 [(set v1i128:$vD, (sdiv v1i128:$vA, v1i128:$vB))]>;
2335 def VDIVUQ : VXForm_1<11, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2336 "vdivuq $vD, $vA, $vB", IIC_VecGeneral,
2337 [(set v1i128:$vD, (udiv v1i128:$vA, v1i128:$vB))]>;
2338 def VDIVESQ : VXForm_1<779, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2339 "vdivesq $vD, $vA, $vB", IIC_VecGeneral,
2341 v1i128:$vB))]>;
2342 def VDIVEUQ : VXForm_1<523, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2343 "vdiveuq $vD, $vA, $vB", IIC_VecGeneral,
2345 v1i128:$vB))]>;
2346 def VCMPEQUQ : VCMP <455, "vcmpequq $vD, $vA, $vB" , v1i128>;
2347 def VCMPGTSQ : VCMP <903, "vcmpgtsq $vD, $vA, $vB" , v1i128>;
2348 def VCMPGTUQ : VCMP <647, "vcmpgtuq $vD, $vA, $vB" , v1i128>;
2349 def VCMPEQUQ_rec : VCMP_rec <455, "vcmpequq. $vD, $vA, $vB" , v1i128>;
2350 def VCMPGTSQ_rec : VCMP_rec <903, "vcmpgtsq. $vD, $vA, $vB" , v1i128>;
2351 def VCMPGTUQ_rec : VCMP_rec <647, "vcmpgtuq. $vD, $vA, $vB" , v1i128>;
2352 def VMODSQ : VXForm_1<1803, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2353 "vmodsq $vD, $vA, $vB", IIC_VecGeneral,
2354 [(set v1i128:$vD, (srem v1i128:$vA, v1i128:$vB))]>;
2355 def VMODUQ : VXForm_1<1547, (outs vrrc:$vD), (ins vrrc:$vA, vrrc:$vB),
2356 "vmoduq $vD, $vA, $vB", IIC_VecGeneral,
2357 [(set v1i128:$vD, (urem v1i128:$vA, v1i128:$vB))]>;
2358 def VEXTSD2Q : VXForm_RD5_XO5_RS5<1538, 27, (outs vrrc:$vD), (ins vrrc:$vB),
2359 "vextsd2q $vD, $vB", IIC_VecGeneral,
2360 [(set v1i128:$vD, (int_ppc_altivec_vextsd2q v2i64:$vB))]>;
2361 def VCMPUQ : VXForm_BF3_VAB5<257, (outs crrc:$BF), (ins vrrc:$vA, vrrc:$vB),
2362 "vcmpuq $BF, $vA, $vB", IIC_VecGeneral, []>;
2363 def VCMPSQ : VXForm_BF3_VAB5<321, (outs crrc:$BF), (ins vrrc:$vA, vrrc:$vB),
2364 "vcmpsq $BF, $vA, $vB", IIC_VecGeneral, []>;
2368 v1i128:$vB))]>;
2370 (ins vrrc:$vA, vrrc:$vB, vrrc:$vDi),
2371 "vrlqmi $vD, $vA, $vB", IIC_VecFP,
2373 (int_ppc_altivec_vrlqmi v1i128:$vA, v1i128:$vB,
2501 def : Pat<(v4i32 (int_ppc_altivec_vmulhsw v4i32:$vA, v4i32:$vB)),
2502 (v4i32 (VMULHSW $vA, $vB))>;
2503 def : Pat<(v4i32 (int_ppc_altivec_vmulhuw v4i32:$vA, v4i32:$vB)),
2504 (v4i32 (VMULHUW $vA, $vB))>;
2505 def : Pat<(v2i64 (int_ppc_altivec_vmulhsd v2i64:$vA, v2i64:$vB)),
2506 (v2i64 (VMULHSD $vA, $vB))>;
2507 def : Pat<(v2i64 (int_ppc_altivec_vmulhud v2i64:$vA, v2i64:$vB)),
2508 (v2i64 (VMULHUD $vA, $vB))>;
2543 def : Pat<(v1i128 (rotl v1i128:$vA, v1i128:$vB)),
2544 (v1i128 (VRLQ v1i128:$vA, v1i128:$vB))>;
2566 Pat<(v4i32 pattern), (XXEVAL $vA, $vB, $vC, imm)> {}
2584 def : xxevalPattern<(and v4i32:$vA, (and v4i32:$vB, v4i32:$vC)), 1>;
2586 def : xxevalPattern<(and v4i32:$vA, (xor v4i32:$vB, v4i32:$vC)), 6>;
2588 def : xxevalPattern<(and v4i32:$vA, (or v4i32:$vB, v4i32:$vC)), 7>;
2590 def : xxevalPattern<(and v4i32:$vA, (vnot_ppc (or v4i32:$vB, v4i32:$vC))),
2593 def : xxevalPattern<(and v4i32:$vA, (vnot_ppc (xor v4i32:$vB, v4i32:$vC))),
2596 def : xxevalPattern<(and v4i32:$vA, (vnot_ppc (and v4i32:$vB, v4i32:$vC))),
2601 def : xxevalPattern<(vnot_ppc (and v4i32:$vA, (and v4i32:$vB, v4i32:$vC))),
2604 def : xxevalPattern<(vnot_ppc (and v4i32:$vA, (xor v4i32:$vB, v4i32:$vC))),
2607 def : xxevalPattern<(vnot_ppc (and v4i32:$vA, (or v4i32:$vB, v4i32:$vC))),
2610 def : xxevalPattern<(or (vnot_ppc v4i32:$vA), (or v4i32:$vB, v4i32:$vC)),
2613 def : xxevalPattern<(or (vnot_ppc v4i32:$vA), (xor v4i32:$vB, v4i32:$vC)),
2616 def : xxevalPattern<(or (vnot_ppc v4i32:$vA), (and v4i32:$vB, v4i32:$vC)),