[PATCH] D118394: [AArch64][NEON][SVE] Lower FCOPYSIGN using AArch64ISD::BSP
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 31 15:45:59 PST 2022
efriedma added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7273
- // A possible alternative sequence involves using FNEG_MERGE_PASSTHRU;
- // maybe useful for copysign operations with mismatched VTs.
- //
----------------
Do we want to preserve this comment somewhere?
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7328
+ SignMaskV = DAG.getNode(ISD::FNEG, DL, MVT::v2f64, SignMaskV);
+ SignMaskV = DAG.getNode(ISD::BITCAST, DL, MVT::v2i64, SignMaskV);
}
----------------
The special case here feels kind of weird, but I guess it's existing code.
================
Comment at: llvm/test/CodeGen/AArch64/vector-fcopysign.ll:303
+; NOFP16-NEXT: bsl.16b v1, v2, v4
+; NOFP16-NEXT: fcvt h1, s1
; NOFP16-NEXT: mov.h v0[3], v1[0]
----------------
It looks like the generated code here got worse; is there something wrong with the way we lower AArch64ISD::BSP?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118394/new/
https://reviews.llvm.org/D118394
More information about the llvm-commits
mailing list