diff options
| author | Aditi Medhane <aditimedhane73@gmail.com> | 2026-01-21 21:34:06 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-21 21:34:06 +0530 |
| commit | 7cf30a7d3dca64b219a82a69bbd81beee41f514f (patch) | |
| tree | 231460489f20ee67dbf12644107cc55a32735ac2 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | 82d7a52219764ab93f9dc2efc123ad9d7d8f8c2f (diff) | |
| download | llvm-7cf30a7d3dca64b219a82a69bbd81beee41f514f.zip llvm-7cf30a7d3dca64b219a82a69bbd81beee41f514f.tar.gz llvm-7cf30a7d3dca64b219a82a69bbd81beee41f514f.tar.bz2 | |
[PowerPC] Add Support for BCDSHIFT, BCDSHIFTR, BCDTRUNC, BCDUTRUNC, and BCDUSHIFT instruction support (#154715)
Support the following BCD format conversion builtins for PowerPC.
- `__builtin_bcdshift` – Shifts a packed decimal value by a specified
number of decimal digits.
- `__builtin_bcdshiftround` – Shifts a packed decimal value by a
specified number of decimal digits, with rounding applied.
- `__builtin_bcdtruncate` –Truncates a packed decimal value to a
specified number of digits.
- `__builtin_bcdunsignedtruncate` – Truncates a packed decimal value and
returns the result as an unsigned packed decimal.
- `__builtin_bcdunsignedshift` – Shifts an unsigned packed decimal value
by a specified number of digits.
> Note: This built-in functions are valid only when all following
conditions are met:
> -qarch is set to utilize POWER9 technology.
> The bcd.h file is included.
## Prototypes
```c
vector unsigned char __builtin_bcdshift(vector unsigned char, int, unsigned char);
vector unsigned char __builtin_bcdshiftround(vector unsigned char, int, unsigned char);
vector unsigned char __builtin_bcdtruncate(vector unsigned char, int, unsigned char);
vector unsigned char __builtin_bcdunsignedtruncate(vector unsigned char, int);
vector unsigned char __builtin_bcdunsignedshift(vector unsigned char, int);
```
---------
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
