From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id E093A3858403; Wed, 13 Oct 2021 21:16:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E093A3858403 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Meissner To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/meissner/heads/work071)] Add XXXSPLTIDP alternatives for 128-bit loads and stores. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/work071 X-Git-Oldrev: e7d505061b67365ba9897e1f6c84109d54536bfb X-Git-Newrev: c6ee64866c814d0cbde6eea247f2feb9eee4058d Message-Id: <20211013211612.E093A3858403@sourceware.org> Date: Wed, 13 Oct 2021 21:16:12 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Oct 2021 21:16:13 -0000 https://gcc.gnu.org/g:c6ee64866c814d0cbde6eea247f2feb9eee4058d commit c6ee64866c814d0cbde6eea247f2feb9eee4058d Author: Michael Meissner Date: Wed Oct 13 17:15:45 2021 -0400 Add XXXSPLTIDP alternatives for 128-bit loads and stores. 2021-10-13 Michael Meissner gcc/ * config/rs6000/vsx.md (vsx_mov_64bit): Add XXSPLTIDP support. (vsx_mov_32bit): Likewise. Diff: --- gcc/config/rs6000/vsx.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md index 751a82e7710..7b2d2551c7b 100644 --- a/gcc/config/rs6000/vsx.md +++ b/gcc/config/rs6000/vsx.md @@ -1192,17 +1192,17 @@ ;; VSX store VSX load VSX move VSX->GPR GPR->VSX LQ (GPR) ;; STQ (GPR) GPR load GPR store GPR move XXSPLTIB VSPLTISW -;; VSX 0/-1 VMX const GPR const LVX (VMX) STVX (VMX) +;; VSX 0/-1 VMX const GPR const LVX (VMX) STVX (VMX) XXLSPLTIDP (define_insn "vsx_mov_64bit" [(set (match_operand:VSX_M 0 "nonimmediate_operand" "=ZwO, wa, wa, r, we, ?wQ, ?&r, ??r, ??Y, , wa, v, - ?wa, v, , wZ, v") + ?wa, v, , wZ, v, wa") (match_operand:VSX_M 1 "input_operand" "wa, ZwO, wa, we, r, r, wQ, Y, r, r, wE, jwM, - ?jwM, W, , v, wZ"))] + ?jwM, W, , v, wZ, eD"))] "TARGET_POWERPC64 && VECTOR_MEM_VSX_P (mode) && (register_operand (operands[0], mode) @@ -1213,37 +1213,37 @@ [(set_attr "type" "vecstore, vecload, vecsimple, mtvsr, mfvsr, load, store, load, store, *, vecsimple, vecsimple, - vecsimple, *, *, vecstore, vecload") + vecsimple, *, *, vecstore, vecload, vecperm") (set_attr "num_insns" "*, *, *, 2, *, 2, 2, 2, 2, 2, *, *, - *, 5, 2, *, *") + *, 5, 2, *, *, *") (set_attr "max_prefixed_insns" "*, *, *, *, *, 2, 2, 2, 2, 2, *, *, - *, *, *, *, *") + *, *, *, *, *, *") (set_attr "length" "*, *, *, 8, *, 8, 8, 8, 8, 8, *, *, - *, 20, 8, *, *") + *, 20, 8, *, *, *") (set_attr "isa" ", , , *, *, *, *, *, *, *, p9v, *, - , *, *, *, *")]) + , *, *, *, *, p10")]) ;; VSX store VSX load VSX move GPR load GPR store GPR move ;; XXSPLTIB VSPLTISW VSX 0/-1 VMX const GPR const -;; LVX (VMX) STVX (VMX) +;; LVX (VMX) STVX (VMX) XXSPLTID LXVKQ (define_insn "*vsx_mov_32bit" [(set (match_operand:VSX_M 0 "nonimmediate_operand" "=ZwO, wa, wa, ??r, ??Y, , wa, v, ?wa, v, , - wZ, v") + wZ, v, wa") (match_operand:VSX_M 1 "input_operand" "wa, ZwO, wa, Y, r, r, wE, jwM, ?jwM, W, , - v, wZ"))] + v, wZ, eD"))] "!TARGET_POWERPC64 && VECTOR_MEM_VSX_P (mode) && (register_operand (operands[0], mode) @@ -1254,15 +1254,15 @@ [(set_attr "type" "vecstore, vecload, vecsimple, load, store, *, vecsimple, vecsimple, vecsimple, *, *, - vecstore, vecload") + vecstore, vecload, vecperm") (set_attr "length" "*, *, *, 16, 16, 16, *, *, *, 20, 16, - *, *") + *, *, *") (set_attr "isa" ", , , *, *, *, p9v, *, , *, *, - *, *")]) + *, *, p10")]) ;; Explicit load/store expanders for the builtin functions (define_expand "vsx_load_"