[PATCH] Add Clang support for PPC cryptography builtins

hfinkel at anl.gov hfinkel at anl.gov
Fri Feb 27 12:09:05 PST 2015


In http://reviews.llvm.org/D7951#131439, @nemanjai wrote:

> Note to reviewers: There is currently no macro guard for the builtins that do not require Cagegory:Vector.Crypto. However, the back end will not generate code for them on older CPU's. Perhaps I should guard those with __POWER8_VECTOR__ macro. However, this would imply that -mcrypto needs to imply -mpower8-vector which is probably the correct thing to do since Category:Vector.Crypto is a subset of Category:Vector.
>  I can make these changes and upload a revision if everyone agrees with this approach.


Why don't we guard them all with __CRYPTO__? It seems somewhat odd to have some, but not all, of the __builtin_crypto_* available when the crypto feature is disabled.


REPOSITORY
  rL LLVM

================
Comment at: lib/CodeGen/CGBuiltin.cpp:6358
@@ +6357,3 @@
+    if (CI1->getZExtValue() > 1) {
+      CGM.Error(E->getArg(1)->getExprLoc(), "argument out of range (should be 0-1).");
+      return llvm::UndefValue::get(Ops[0]->getType());
----------------
Line too long?

================
Comment at: lib/CodeGen/CGBuiltin.cpp:6362
@@ +6361,3 @@
+    if (CI2->getZExtValue() > 15) {
+      CGM.Error(E->getArg(2)->getExprLoc(), "argument out of range (should be 0-15).");
+      return llvm::UndefValue::get(Ops[0]->getType());
----------------
Line too long?

http://reviews.llvm.org/D7951

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the cfe-commits mailing list