================
@@ -655,6 +655,14 @@ let TargetPrefix = "ppc" in {  // All intrinsics start 
with "llvm.ppc.".
       DefaultAttrsIntrinsic<[llvm_v1i128_ty],[llvm_v1i128_ty],[IntrNoMem]>;
 
   // BCD intrinsics.
+  def int_ppc_national2packed: ClangBuiltin<"__builtin_ppc_national2packed">,
+    DefaultAttrsIntrinsic<[llvm_v16i8_ty],[llvm_v16i8_ty, llvm_i32_ty], 
[IntrNoMem, ImmArg<ArgIndex<1>>]>;
+  def int_ppc_packed2national: ClangBuiltin<"__builtin_ppc_packed2national">,
+    DefaultAttrsIntrinsic<[llvm_v16i8_ty],[llvm_v16i8_ty], [IntrNoMem]>;
+  def int_ppc_packed2zoned: ClangBuiltin<"__builtin_ppc_packed2zoned">,
+    DefaultAttrsIntrinsic<[llvm_v16i8_ty],[llvm_v16i8_ty, llvm_i32_ty], 
[IntrNoMem, ImmArg<ArgIndex<1>>]>;
+  def int_ppc_zoned2packed: ClangBuiltin<"__builtin_ppc_zoned2packed">,
+    DefaultAttrsIntrinsic<[llvm_v16i8_ty],[llvm_v16i8_ty, llvm_i32_ty], 
[IntrNoMem, ImmArg<ArgIndex<1>>]>;
----------------
Himadhith wrote:

I did try to use `llvm_any_ty` before custom lowering in the backend. There was 
no build failure, but when testing it with clang with the following command: 
`clang -O2 -mcpu=pwr9 -c -S -emit-llvm test.c -o test.ll`
I faced the following error: 
```
Assertion failed: Index < Length && "Invalid index!", file  
/home/himadhit/llvm/BCD/llvm-project/llvm/include/llvm/ADT/ArrayRef.h, line 
268, const T &llvm::ArrayRef<llvm::Type *>::operator[]
(size_t) const [T = llvm::Type *]()
```
So no, `llvm_any_ty` would not work here. 

https://github.com/llvm/llvm-project/pull/142723
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to