[clang] [llvm] [PowerPC] Add AES Builtins (PR #186895)

zhijian lin via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 27 08:48:02 PDT 2026


================
@@ -0,0 +1,263 @@
+// REQUIRES: powerpc-registered-target
+// RUN: %clang_cc1 -triple powerpc64le-unknown-unknown -target-cpu future \
+// RUN:   -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-cpu future \
+// RUN:   -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple powerpc64le-unknown-unknown -target-cpu pwr11 \
+// RUN:   -fsyntax-only -verify=pwr11 %s
+
+// Made with AI
+
+void test_aes_encrypt_paired_invalid_imm(void) {
+  __vector_pair vp1, vp2;
+
+  // Test invalid immediate values (valid range is 0-2)
+  // expected-error at +2 {{argument value 3 is outside the valid range}}
+  // pwr11-error at +1 {{'__builtin_aes_encrypt_paired' needs target feature future-vector,paired-vector-memops}}
+  __vector_pair res1 = __builtin_aes_encrypt_paired(vp1, vp2, 3);
+  // expected-error at +2 {{argument value -1 is outside the valid range}}
+  // pwr11-error at +1 {{'__builtin_aes_encrypt_paired' needs target feature future-vector,paired-vector-memops}}
+  __vector_pair res2 = __builtin_aes_encrypt_paired(vp1, vp2, -1);
+  // expected-error at +2 {{argument value 10 is outside the valid range}}
+  // pwr11-error at +1 {{'__builtin_aes_encrypt_paired' needs target feature future-vector,paired-vector-memops}}
+  __vector_pair res3 = __builtin_aes_encrypt_paired(vp1, vp2, 10);
----------------
diggerlin wrote:

already has test 
 __vector_pair res1 = __builtin_aes_encrypt_paired(vp1, vp2, 3); 
for out of range , do we still need this one  ?

https://github.com/llvm/llvm-project/pull/186895


More information about the cfe-commits mailing list