From 72e241cff78869a0bc309f8522c313071b2baec6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 4 Apr 2006 23:43:56 +0000 Subject: [PATCH] Add missing byte merges. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27418 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IntrinsicsPowerPC.td | 6 ++++++ lib/Target/PowerPC/PPCInstrAltivec.td | 2 ++ 2 files changed, 8 insertions(+) diff --git a/include/llvm/IntrinsicsPowerPC.td b/include/llvm/IntrinsicsPowerPC.td index 98fd80b5c96..981e88ca8c8 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 c82c042806c..526523f0ccc 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>;