[PATCH] [PATCH] Add support for ARMv8 cryptography instructions.
Amara Emerson
amara.emerson at arm.com
Thu Sep 12 06:34:16 PDT 2013
Thanks for taking a look at this Tim. I'll submit a new patch with some issues fixed.
================
Comment at: lib/Target/ARM/ARMInstrNEON.td:5858
@@ +5857,3 @@
+let PostEncoderMethod = "NEONThumb2DataIPostEncoder",
+ DecoderNamespace = "NEONData" in {
+ class AES<string op, bit op7, bit op6, SDPatternOperator Int>
----------------
Tim Northover wrote:
> Doesn't this mean the MCInsts get a (trivial) set of predicate operands? I suspect they're benign, but they don't match the definition.
I'm not sure what you mean. As far as I can tell the MCInsts don't have any predicate operands. The decoder namespace just ensures that Thumb to ARM conversion is done properly.
================
Comment at: lib/Target/ARM/ARMInstrNEON.td:5876-5877
@@ +5875,4 @@
+
+def AESD : AES<"d", 0, 1, int_arm_neon_aesd>;
+def AESE : AES<"e", 0, 0, int_arm_neon_aese>;
+def AESIMC : AES<"imc", 1, 1, int_arm_neon_aesimc>;
----------------
Tim Northover wrote:
> I think AESE and AESD actually read-modify-write the qD operand. (The two input operands are "data" and "key" and they produce "data").
>
> Speaking of which some tests for those intrinsics would be a good idea.
Good catch. I'll fix that, and similar issues with the SHA instructions.
As for the tests, I plan to implement the ACLE intrinsics for these so the tests will be included later.
http://llvm-reviews.chandlerc.com/D1645
More information about the llvm-commits
mailing list