diff options
author | Him188 <tguan@nvidia.com> | 2024-09-03 12:47:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-03 12:47:26 +0100 |
commit | 0748f4227cd6a4a32b155d4bb9ad3f07e1b54bfe (patch) | |
tree | 9328fe6cafe24de0f2d6354493d067065ff4837c /llvm/lib/CodeGen/MachineInstr.cpp | |
parent | 3d5e1ec6508c8425601d4cfaba4c8a8f18791e2b (diff) | |
download | llvm-0748f4227cd6a4a32b155d4bb9ad3f07e1b54bfe.zip llvm-0748f4227cd6a4a32b155d4bb9ad3f07e1b54bfe.tar.gz llvm-0748f4227cd6a4a32b155d4bb9ad3f07e1b54bfe.tar.bz2 |
[AArch64][GlobalISel] Legalize 128-bit types for FABS (#104753)
This patch adds a common lower action for `G_FABS`, which generates `and
x8, x8, #0x7fffffffffffffff` to reset the sign bit. The action does not
support vectors since `G_AND` does not support fp128.
This approach is different than what SDAG is doing. SDAG stores the
value onto stack, clears the sign bit in the most significant byte, and
loads the value back into register. This involves multiple memory ops
and sounds slower.
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
0 files changed, 0 insertions, 0 deletions