- Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty], [InstrNoMem]>;
-
- // Merges
- def int_ppc_altivec_vmrghh : GCCBuiltin<"__builtin_altivec_vmrghh">,
- Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vmrghw : GCCBuiltin<"__builtin_altivec_vmrghw">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vmrglh : GCCBuiltin<"__builtin_altivec_vmrglh">,
- Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vmrglw : GCCBuiltin<"__builtin_altivec_vmrglw">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
-
- // Left Shifts.
- def int_ppc_altivec_vsldoi : GCCBuiltin<"__builtin_altivec_vsldoi_4si">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty,
- llvm_v4i32_ty, llvm_int_ty], [InstrNoMem]>;
- def int_ppc_altivec_vslo : GCCBuiltin<"__builtin_altivec_vslo">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
-
- def int_ppc_altivec_vslb : GCCBuiltin<"__builtin_altivec_vslb">,
- Intrinsic<[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vslh : GCCBuiltin<"__builtin_altivec_vslh">,
- Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vslw : GCCBuiltin<"__builtin_altivec_vslw">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
-
- // Right Shifts.
- def int_ppc_altivec_vsr : GCCBuiltin<"__builtin_altivec_vsr">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vsro : GCCBuiltin<"__builtin_altivec_vsro">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
-
- def int_ppc_altivec_vsrb : GCCBuiltin<"__builtin_altivec_vsrb">,
- Intrinsic<[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vsrh : GCCBuiltin<"__builtin_altivec_vsrh">,
- Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vsrw : GCCBuiltin<"__builtin_altivec_vsrw">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vsrab : GCCBuiltin<"__builtin_altivec_vsrab">,
- Intrinsic<[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vsrah : GCCBuiltin<"__builtin_altivec_vsrah">,
- Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vsraw : GCCBuiltin<"__builtin_altivec_vsraw">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
-
- // Rotates.
- def int_ppc_altivec_vrlb : GCCBuiltin<"__builtin_altivec_vrlb">,
- Intrinsic<[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vrlh : GCCBuiltin<"__builtin_altivec_vrlh">,
- Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty],
- [InstrNoMem]>;
- def int_ppc_altivec_vrlw : GCCBuiltin<"__builtin_altivec_vrlw">,
- Intrinsic<[llvm_v4i32_ty, llvm_v4i32_ty, llvm_v4i32_ty],
- [InstrNoMem]>;
+ Intrinsic<[llvm_v4f32_ty], [llvm_v4f32_ty], [IntrNoMem]>;
+}
+
+def int_ppc_altivec_vsl : PowerPC_Vec_WWW_Intrinsic<"vsl">;
+def int_ppc_altivec_vslo : PowerPC_Vec_WWW_Intrinsic<"vslo">;
+
+def int_ppc_altivec_vslb : PowerPC_Vec_BBB_Intrinsic<"vslb">;
+def int_ppc_altivec_vslh : PowerPC_Vec_HHH_Intrinsic<"vslh">;
+def int_ppc_altivec_vslw : PowerPC_Vec_WWW_Intrinsic<"vslw">;
+
+// Right Shifts.
+def int_ppc_altivec_vsr : PowerPC_Vec_WWW_Intrinsic<"vsr">;
+def int_ppc_altivec_vsro : PowerPC_Vec_WWW_Intrinsic<"vsro">;
+
+def int_ppc_altivec_vsrb : PowerPC_Vec_BBB_Intrinsic<"vsrb">;
+def int_ppc_altivec_vsrh : PowerPC_Vec_HHH_Intrinsic<"vsrh">;
+def int_ppc_altivec_vsrw : PowerPC_Vec_WWW_Intrinsic<"vsrw">;
+def int_ppc_altivec_vsrab : PowerPC_Vec_BBB_Intrinsic<"vsrab">;
+def int_ppc_altivec_vsrah : PowerPC_Vec_HHH_Intrinsic<"vsrah">;
+def int_ppc_altivec_vsraw : PowerPC_Vec_WWW_Intrinsic<"vsraw">;
+
+// Rotates.
+def int_ppc_altivec_vrlb : PowerPC_Vec_BBB_Intrinsic<"vrlb">;
+def int_ppc_altivec_vrlh : PowerPC_Vec_HHH_Intrinsic<"vrlh">;
+def int_ppc_altivec_vrlw : PowerPC_Vec_WWW_Intrinsic<"vrlw">;