]> granicus.if.org Git - llvm/commitdiff
[Hexagon] Remove HexagonISD::PACKHL
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Wed, 29 Nov 2017 19:59:29 +0000 (19:59 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Wed, 29 Nov 2017 19:59:29 +0000 (19:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319352 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Hexagon/HexagonISelLowering.cpp
lib/Target/Hexagon/HexagonISelLowering.h
lib/Target/Hexagon/HexagonPatterns.td
test/CodeGen/Hexagon/vect/vect-infloop.ll [moved from test/CodeGen/Hexagon/vect/vect-packhl.ll with 94% similarity]

index 087a6d69439931cbaa3e24f643e1239460f4cd00..22bbb3e94dfeeb2e3f0c2faea73a7ecb4ff19a25 100644 (file)
@@ -2216,7 +2216,6 @@ const char* HexagonTargetLowering::getTargetNodeName(unsigned Opcode) const {
   case HexagonISD::INSERT:        return "HexagonISD::INSERT";
   case HexagonISD::INSERTRP:      return "HexagonISD::INSERTRP";
   case HexagonISD::JT:            return "HexagonISD::JT";
-  case HexagonISD::PACKHL:        return "HexagonISD::PACKHL";
   case HexagonISD::RET_FLAG:      return "HexagonISD::RET_FLAG";
   case HexagonISD::TC_RETURN:     return "HexagonISD::TC_RETURN";
   case HexagonISD::VCOMBINE:      return "HexagonISD::VCOMBINE";
index 781e49ab2d02c1beb4c532b8910138e35f8b678b..9f7891e1746a77f9d1e9404534af673a85ff5e8e 100644 (file)
@@ -51,7 +51,6 @@ namespace HexagonISD {
       CP,          // Constant pool.
 
       COMBINE,
-      PACKHL,
       VSPLAT,
       VASL,
       VASR,
index 00ce6916fbdf705f8f8e17785e1166e31248fdd0..270575aa09af3d812b488877207d9bf12cf3b0ae 100644 (file)
@@ -464,7 +464,7 @@ def: Pat<(v4i8 (trunc V4I16:$Rs)),
 // S2_vtruneh
 
 def: Pat<(v2i16 (trunc V2I32:$Rs)),
-         (LoReg (S2_packhl (HiReg $Rs), (LoReg $Rs)))>;
+         (A2_combine_ll (HiReg $Rs), (LoReg $Rs))>;
 
 
 // --(4) Logical ---------------------------------------------------------
@@ -946,14 +946,11 @@ def SDTHexagonVCOMBINE: SDTypeProfile<1, 2, [SDTCisSameAs<1, 2>,
   SDTCisSubVecOfVec<1, 0>]>;
 def SDTHexagonVPACK: SDTypeProfile<1, 2, [SDTCisSameAs<1, 2>, SDTCisVec<1>]>;
 
-def HexagonPACKHL:   SDNode<"HexagonISD::PACKHL",   SDTHexagonI64I32I32>;
 def HexagonCOMBINE:  SDNode<"HexagonISD::COMBINE",  SDTHexagonI64I32I32>;
 def HexagonVCOMBINE: SDNode<"HexagonISD::VCOMBINE", SDTHexagonVCOMBINE>;
 def HexagonVPACKE:   SDNode<"HexagonISD::VPACKE",   SDTHexagonVPACK>;
 def HexagonVPACKO:   SDNode<"HexagonISD::VPACKO",   SDTHexagonVPACK>;
 
-def: OpR_RR_pat<S2_packhl, pf2<HexagonPACKHL>, i64, I32>;
-
 def: Pat<(HexagonCOMBINE I32:$Rs, I32:$Rt), (Combinew $Rs, $Rt)>;
 
 // The complexity of the combines involving immediates should be greater
similarity index 94%
rename from test/CodeGen/Hexagon/vect/vect-packhl.ll
rename to test/CodeGen/Hexagon/vect/vect-infloop.ll
index dfdb019b677cc937d431723e959532cafc7b9db8..4de390159fdd04910428850773b58976da237a1a 100644 (file)
@@ -1,6 +1,6 @@
 ; Extracted from test/CodeGen/Generic/vector-casts.ll: used to loop indefinitely.
 ; RUN: llc -march=hexagon < %s | FileCheck %s
-; CHECK: packhl
+; CHECK: combine
 
 define void @a(<2 x double>* %p, <2 x i8>* %q) {
         %t = load <2 x double>, <2 x double>* %p