Fwd: [PATCH] Implement the newly added ACLE functions for ld1 and st1 with 2/3/4 vectors.
Tim Northover
t.p.northover at gmail.com
Thu Nov 14 11:09:57 PST 2013
llvm-commits doesn't seem to be on the CC for this one. Forwarding...
---------- Forwarded message ----------
From: Tim Northover <t.p.northover at gmail.com>
Date: 14 November 2013 11:09
Subject: Re: [PATCH] Implement the newly added ACLE functions for ld1
and st1 with 2/3/4 vectors.
To: t.p.northover at gmail.com, haoliuts at gmail.com
Hi Hao,
Mostly looks good, I think there are just a few more changes than
are strictly necessary.
================
Comment at: lib/Target/AArch64/AArch64InstrNEON.td:3380-3381
@@ -3379,4 +3379,4 @@
// Load multiple 1-element structure to N consecutive registers (N = 2,3,4)
-defm LD1_2V : LDVList_BHSD<0b1010, "VPair", "ld1">;
-def LD1_2V_1D : NeonI_LDVList<0, 0b1010, 0b11, VPair1D_operand, "ld1">;
----------------
I think these names are fine as they are. There's no reason for the
NEON intrinsics to force their bastardised AArch32 conventions on the
64-bit backend. "x2" isn't *bad* as such, it's just an unnecessary
change.
================
Comment at: test/CodeGen/AArch64/neon-simd-post-ldst-multi-elem.ll:203
@@ +202,3 @@
+define <16 x i8> @test_vld1x2_fx_update(i8* %a, i8** %ptr) {
+; CHECK: test_vld1x2_fx_update
+; CHECK: ld1 {v{{[0-9]+}}.16b, v{{[0-9]+}}.16b}, [x{{[0-9]+|sp}}], #32
----------------
Chad's CHECK-LABEL suggestion was a good one. It applies here too.
================
Comment at: utils/TableGen/NeonEmitter.cpp:872
@@ -871,1 +871,3 @@
+static bool isEndWith_xN(std::string const &name) {
+ if (name.length() > 3) {
----------------
Either "doesEndWith_xN" or "endsWith_xN" would be idiomatic English here.
http://llvm-reviews.chandlerc.com/D2175
More information about the llvm-commits
mailing list