[PATCH] D130548: [AArch64] Explicitly use v1i64 type for llvm.aarch64.neon.pmull64
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 26 01:43:07 PDT 2022
dmgreen added a comment.
Thanks, this sounds good to me.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:4523
+ SDValue Op2 = Op.getOperand(2);
+ if (Op1.getNode()->getOpcode() == ISD::LOAD &&
+ Op1.getNode()->getValueType(0) == MVT::i64) {
----------------
Can we do this for all operands, not just loads? We should end up adding the i64->v1i64 copy in either case.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:4524
+ if (Op1.getNode()->getOpcode() == ISD::LOAD &&
+ Op1.getNode()->getValueType(0) == MVT::i64) {
+ Op1 = DAG.getNode(ISD::BITCAST, dl, MVT::v1i64, Op1);
----------------
Op1.getValueType()
================
Comment at: llvm/test/CodeGen/AArch64/pmull-ldr-merge.ll:2
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -verify-machineinstrs -mtriple=aarch64-linux-gnu -mattr=+v8r,+neon,+crc,+crypto -o - %s| FileCheck %s --check-prefixes=CHECK,CHECK-SDAG
+
----------------
I think use -mattr=+aes. (Even is that is not technically correct, it is what the instruction uses)
And it doesn't need CHECK-SDAG
================
Comment at: llvm/test/CodeGen/AArch64/pmull-ldr-merge.ll:32
+
+8:
+ %9 = phi i64 [ %18, %8 ], [ 0, %5 ]
----------------
The test could be simpler if it wasn't in a loop.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130548/new/
https://reviews.llvm.org/D130548
More information about the llvm-commits
mailing list