Issue 160509
Summary [Headers][X86] Allow PALIGNR byte shift intrinsics to be used in constexpr
Labels good first issue, backend:X86, clang:headers, constexpr, clang:bytecode
Assignees
Reporter RKSimon
    ```
_mm_alignr_pi8
_mm_alignr_epi8 _mm_mask_alignr_epi8 _mm_maskz_alignr_epi8
_mm256_alignr_epi8 _mm256_mask_alignr_epi8 _mm256_maskz_alignr_epi8
_mm512_alignr_epi8 _mm512_mask_alignr_epi8 _mm512_maskz_alignr_epi8
```
Similar to #156494, the PALIGNR intrinsics should be usable in constexpr:
```
__builtin_ia32_palignr128
__builtin_ia32_palignr256
__builtin_ia32_palignr512
```
This requires handling/testing of shift amount values greater than 16 and 32:
https://github.com/llvm/llvm-project/blob/2d6ce5148cf144ab800116e1f75a5d007e82cf58/clang/lib/CodeGen/TargetBuiltins/X86.cpp#L1689-L1724
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to