aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/IntrinsicsPowerPC.td6
-rw-r--r--lib/Target/PowerPC/PPCInstrAltivec.td2
2 files changed, 8 insertions, 0 deletions
diff --git a/include/llvm/IntrinsicsPowerPC.td b/include/llvm/IntrinsicsPowerPC.td
index 98fd80b5c9..981e88ca8c 100644
--- a/include/llvm/IntrinsicsPowerPC.td
+++ b/include/llvm/IntrinsicsPowerPC.td
@@ -374,12 +374,18 @@ let TargetPrefix = "ppc" in { // All PPC intrinsics start with "llvm.ppc.".
Intrinsic<[llvm_v4f32_ty, llvm_v4f32_ty], [InstrNoMem]>;
// Merges
+ def int_ppc_altivec_vmrghb : GCCBuiltin<"__builtin_altivec_vmrghb">,
+ Intrinsic<[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty],
+ [InstrNoMem]>;
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_vmrglb : GCCBuiltin<"__builtin_altivec_vmrglb">,
+ Intrinsic<[llvm_v16i8_ty, llvm_v16i8_ty, llvm_v16i8_ty],
+ [InstrNoMem]>;
def int_ppc_altivec_vmrglh : GCCBuiltin<"__builtin_altivec_vmrglh">,
Intrinsic<[llvm_v8i16_ty, llvm_v8i16_ty, llvm_v8i16_ty],
[InstrNoMem]>;
diff --git a/lib/Target/PowerPC/PPCInstrAltivec.td b/lib/Target/PowerPC/PPCInstrAltivec.td
index c82c042806..526523f0cc 100644
--- a/lib/Target/PowerPC/PPCInstrAltivec.td
+++ b/lib/Target/PowerPC/PPCInstrAltivec.td
@@ -233,8 +233,10 @@ def VMINUB : VX1_Int< 514, "vminub", int_ppc_altivec_vminub>;
def VMINUH : VX1_Int< 578, "vminuh", int_ppc_altivec_vminuh>;
def VMINUW : VX1_Int< 642, "vminuw", int_ppc_altivec_vminuw>;
+def VMRGHB : VX1_Int<12 , "vmrghb", int_ppc_altivec_vmrghb>;
def VMRGHH : VX1_Int<76 , "vmrghh", int_ppc_altivec_vmrghh>;
def VMRGHW : VX1_Int<140, "vmrghw", int_ppc_altivec_vmrghw>;
+def VMRGLB : VX1_Int<268, "vmrglb", int_ppc_altivec_vmrglb>;
def VMRGLH : VX1_Int<332, "vmrglh", int_ppc_altivec_vmrglh>;
def VMRGLW : VX1_Int<396, "vmrglw", int_ppc_altivec_vmrglw>;