diff options
author | Tony Varghese <tonypalampalliyil@gmail.com> | 2025-07-29 22:56:05 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-29 22:56:05 +0530 |
commit | 59c3fe65054fd3fb9be62ef326d1540cc375e913 (patch) | |
tree | 83600f28b7675a272bf09fd5fd52d5806a801c66 /lldb/unittests/ScriptInterpreter/Python | |
parent | bc605f4ce85eea02cc7d79c7575b4437ef1a8a95 (diff) | |
download | llvm-59c3fe65054fd3fb9be62ef326d1540cc375e913.zip llvm-59c3fe65054fd3fb9be62ef326d1540cc375e913.tar.gz llvm-59c3fe65054fd3fb9be62ef326d1540cc375e913.tar.bz2 |
[PowerPC] Exploit xxeval instruction for ternary patterns - ternary(A, X, and(B,C)) (#141733)
## Description
<!--- Title/Description will be Subject/Body of commit message. -->
<!--- Please be concise and limit the subject line to 50 characters, -->
<!--- and wrap the Description at 72 characters. -->
<!--- Describe why this is required, what problem it solves. -->
Adds support for ternary equivalent operations of the form `ternary(A,
X, and(B,C))` where `X=[xor(B,C)| nor(B,C)| eqv(B,C)| not(B)| not(C)]`.
List of `xxeval` equivalent ternary operations added and the
corresponding `imm` value required:
Ternary Operator| Imm Value
--|--
ternary(A, xor(B,C), and(B,C)) | 22
ternary(A, nor(B,C), and(B,C)) | 24
ternary(A, eqv(B,C), and(B,C)) | 25
ternary(A, not(C), and(B,C)) | 26
ternary(A, not(B), and(B,C)) | 28
eg. `xxeval XT,XA,XB,XC,22`
- performs `XA ? xor(XB, XC) : and(XB,XC)`and places the result in `XT`.
Co-authored-by: Tony Varghese <tony.varghese@ibm.com>
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions