[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