[all-commits] [llvm/llvm-project] abb21b: [ConstProp] add tests for APFloat truncate miscomp...
Sanjay Patel via All-commits
all-commits at lists.llvm.org
Sun Jun 5 17:09:26 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: abb21b54bc83698cf4705928ef7e0155b7587e2b
https://github.com/llvm/llvm-project/commit/abb21b54bc83698cf4705928ef7e0155b7587e2b
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2022-06-05 (Sun, 05 Jun 2022)
Changed paths:
M llvm/test/Transforms/InstSimplify/ConstProp/cast.ll
Log Message:
-----------
[ConstProp] add tests for APFloat truncate miscompile; NFC
issue #55838
Commit: 3f33d67d8a5c231cf9a64ecbf6b9614e4485e2f4
https://github.com/llvm/llvm-project/commit/3f33d67d8a5c231cf9a64ecbf6b9614e4485e2f4
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2022-06-05 (Sun, 05 Jun 2022)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/icmp-mul-and.ll
M llvm/test/Transforms/InstCombine/icmp-mul.ll
M llvm/test/Transforms/InstCombine/mul-masked-bits.ll
M llvm/test/Transforms/InstCombine/mul.ll
M llvm/test/Transforms/InstCombine/or.ll
Log Message:
-----------
[InstCombine] fold mul with masked low bit operand to trunc+select
https://alive2.llvm.org/ce/z/o7rQ5q
This shows an extra instruction in some cases, but that is
caused by an existing canonicalization of trunc -> and+icmp.
Codegen should be better for any target where a multiply is
more costly than the most simple ALU op.
This ends up producing the requested x86 asm from issue #55618,
but it's not the same IR. We are missing a canonicalization
from the negate+mask pattern to the trunc+select created here.
Compare: https://github.com/llvm/llvm-project/compare/332d5204c58c...3f33d67d8a5c
More information about the All-commits
mailing list